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