[AccessD] Naming Conventions

DWUTKA at marlow.com DWUTKA at marlow.com
Thu Aug 5 13:20:22 CDT 2004


While Wend is just like Do Loop, however, in Do Loop, you can put the
criteria at the top or bottom, but not both.  

In VBScript, you can't put anything after next.  However, I see no problem
with Next i still, because it doesn't harm anything.  Also, while writing
nested For Next loops, it helps me to remember where I am at when I do that:

For i....
	For j .....
		For k ....
			Lots of code....
		Next k 'Okay, done with k, let's take care of j
		Do something with j
	Next j 'okay, done with j, let's increment i
Next i

I wouldn't put those comments in, just what I'm thinking in my head as I'm
coding...

Drew

-----Original Message-----
From: accessd-bounces at databaseadvisors.com
[mailto:accessd-bounces at databaseadvisors.com]On Behalf Of Gustav Brock
Sent: Thursday, August 05, 2004 11:57 AM
To: Access Developers discussion and problem solving
Subject: Re: [AccessD] Naming Conventions


Hi Brett

>> I would have been silent.

> Wow!  I actually found something that would silence Gustav.  Gotta make
> a note of that... ;-)

>> So, you would prefer the syntax:
>>  If I = 2 Then
>>    ' Do stuff
>>  End If I

> Two points here:
> First of all, that's not valid VB(A) syntax, so it's pretty hard to
> truly comment on what I "prefer", since I couldn't have possibly used
> that construct and formulated an opinion based on experience.  Right???

Of course. I was moving along the tangent of Arthur's notes about
"revised" syntax on the dba-tech list.

> However, this is an easy one since your example is clearly not analogous
> to what I stated.

> A For...Next loop corresponds to a single loop variable.  If statements,
> Do...While loops, etc. are tied to conditions (I = 2, strLastName =
> "Jones", etc.), not variables.  If I place the letter I next to the End
> If, it isn't very helpful since it is the condition (I = 2) that is the
> basis of the code block.

You are right about the Do .. Until loop.
However, I find it very analogous to

  For I = 1 To 50
    ' Do stuff
  Next I

Also While .. Wend doesn't use it.
Would you like:

  While N < 50
    ' Do stuff
  Wend N

> Repeating the entire condition string at the bottom of the block would
> be far too wordy and the code maintainance required would outweigh its
> benefit.

Certainly. But I have thought about the Next (I) syntax. Though I
seldom use nested loops and - when doing so - have found it very easy
to keep track of the loops (I mean: one is indented inside another
which is indented inside a third etc) I think that Next alone is more
safe as it complete eliminates these classic typo errors:

  For I = 1 To 10
    For J = 1 To 10
    Next I
  Next J

or:

  For I = 1 To 10
    For J = 1 To 10
    Next I
  Next I

Using

  For I = 1 To 10
    For J = 1 To 10
    Next
  Next

prevents and completely eliminates these errors. And I have yet to
see a code example where this could confuse a decent programmer.

To cut it out:
How could the nested For/For/For .. Next/Next/Next loops ever cause an
error? 

/gustav


> OK, it's not Friday yet but I did read what you wrote: especially.

>>> Makes a huge difference, especially when dealing with nested loops.

> Had you written:

>>> Makes a huge difference when dealing with nested loops.

> I would have been silent.

> So, you would prefer the syntax:

>   If I = 2 Then
>     ' Do stuff
>   End If I

> Now, did I qualify for joining Arthur's "Club of Pendants"??

> /gustav


>>> A huge difference - and added readability - for a single loop?
>>> Is that you Brett?

>> Um, take a moment to read my response before jumping all over it.  I
>> said:

>>> Makes a huge difference, especially when dealing with nested loops.

>> And yes, it does make a difference, even with a single loop.  I don't 
>> have to scroll up a page of code to find the loop variable name, hence

>> improved readability.

>> But folks, Gustav is absolutely correct.  It is not NECESSARY to 
>> specify the variable name in a Next statement.  Nor is it NECESSARY to

>> comment your code or use consistent naming conventions.  Some of us 
>> just do these things for our own *special* reasons ;-)
 

>> -----Original Message-----
>> From: accessd-bounces at databaseadvisors.com
>> [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav 
>> Brock
>> Sent: Thursday, August 05, 2004 8:48 AM
>> To: Access Developers discussion and problem solving
>> Subject: Re: [AccessD] Naming Conventions

>> Hi Brett

>>>>You don't need the last I; Next will do.

>>> While you don't NEED the last I, many developers include it for 
>>> readability sake.  Makes a huge difference, especially when dealing 
>>> with nested loops.

>> A huge difference - and added readability - for a single loop?
>> Is that you Brett?

>> /gustav

>> PS:
>> --------------Please open with care!------------ This message will 
>> bypass some of your spam filtering rules.

>>> -----Original Message-----
>>> From: accessd-bounces at databaseadvisors.com
>>> [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav 
>>> Brock
>>> Sent: Thursday, August 05, 2004 3:51 AM
>>> To: Access Developers discussion and problem solving
>>> Subject: Re: [AccessD] Naming Conventions


>>> Hi Drew

>>>> What's wrong with:

>>>>  For I=1 to 50
>>>>
>>>>  Next I

>>> You don't need the last I; Next will do.

>>> /gustav

-- 
_______________________________________________
AccessD mailing list
AccessD at databaseadvisors.com
http://databaseadvisors.com/mailman/listinfo/accessd
Website: http://www.databaseadvisors.com



More information about the AccessD mailing list