View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.misc
JE McGimpsey JE McGimpsey is offline
external usenet poster
 
Posts: 4,624
Default type declaration characters

I'm tempted just to write "de gustibus non disputandum est", since
there's little difference between the methods as long as formal
programming practices are used.

For my money, though, pseudo-Hungarian type variable names are easier to
work with, as the 1-3 letter prefixes are not only easier to remember
than type codes, but I can use prefixes for objects where type
declaration characters don't work:

Dim rOne As Range

or

Dim fntOne As Font

If one explicitly types each variable, the result is no "weaker" (to use
your phrase) than using type declaration characters.

Since I require (using Option Explicit) variables to be declared before
use in order to prevent inadvertent typos from declaring new variables,
I would declare them in a Dim statement anyway. I don't see a great
advantage to

Dim MyString$

over

Dim sMyString As String

and, since type declaration characters don't have to be used in
subsequent code, I see a real advantage in using prefixes. In:

Dim v1$
Dim v2#
v2 = 4
...
v1 = v2

the error is far less apparent to me than

Dim sV1 As String
Dim dV2 As Double
dV2 = 4
...
sV1 = dV2

And for something completely trivial, I find it difficult to take
seriously a system that would declare an Integer as a Percentage:

Dim i% 'Integer!?!


In article ,
integreat
wrote:

Visual basic still supports them such as

variableName!
variableName#

and so on

so why are they not popular?. For instance I detest the custom naming
conventions for variables like this:

Dim strMyString as string
strMyString = "hello world"

why not just do this

myString$ = "hello world"

basically visual basic has allowed weak programming to creep into the
language!

Further Quick basic supports this

myString$ = space$(1000) (could be a little out in that syntax)

I don't know if vbasic supports the "space$" keyword
the above code gives the string a definite size. It is not a dynamic
string. I hate dynamic strings. GWbasic had dynamic strings and they
stunk.

Now the basic argument is that vbasic ran out of type declaration
characters as there were more variable types. I don't buy that though.
All vbasic had to do was make some extra custom type declaration chars
and the problem would have been solved. The code would look alot nicer
and neater and the DIM statement would not have to be used to declare
variables at all!!!!

This might agravate some Microsoft employees who like to brag on how
many pages of code they did in one day. With this new idea all
unecessary code could be eliminated . It would reduce the code by about
20 percent.