|
Double the code and double the complexity. A simple Setll DoU 1 = 0 Read If Eof or Key Change Leave EndIf ..... EndDo Why put the logic in two places? My opinion only. -----Original Message----- From: Paul Morgan [mailto:pmorgan@xxxxxxxxxxxxxx] Sent: Tuesday, February 01, 2005 1:27 PM To: rpg400-l@xxxxxxxxxxxx Subject: RPG read loops Almost all of the code in the current Leave / Iter thread showed a loop like: DoU F3 or F12 exfmt If Not (F3 or F12) // do something EndIf EndDo This only has one exfmt statement inside a DoU loop. A similar file read loop would be: DoU %EoF Read If Not %Eof // do something EndIf EndDo which has one read statement inside of a DoU loop. Isn't there a better way of coding loops with more than one read/exfmt like: exfmt DoW Not (F3 or F12) // do something exfmt EndDo or Read DoW Not %Eof // do something Read EndDo or SetLL ReadE DoW Not %Eof // do something ReadE EndDo Most programmers seem to code with the single read/exfmt style which IMHO complicates the code. In a DoU/Read loop the body of the loop is nested two deep inside the DoU and an If statement. In a Read/DoW/Read loop the body of the loop is nested one deep inside a DoW. Doesn't this reduction in the nesting of the body of the loop improve the program? Readability is improved. Performance is also improved (although minor) with the removal of one test against the end of loop. Other programmers I work with are adamant about not coding more than one read statement. Why is coding more than one read statement such a problem? Paul -- Paul Morgan Senior Programmer Analyst - Retail J. Jill Group 100 Birch Pond Drive, PO Box 2009 Tilton, NH 03276-2009 Phone: (603) 266-2117 Fax: (603) 266-2333
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.