|
On Thu, 2003-10-02 at 12:41, Hans Boldt wrote:
> Just to add to the very good points already listed:
Thanks :-)
> For structured statements, the ENDxx should be aligned with the
> corresponding IF, DOU, DOW, etc. The statements between are the ones
> indented. (My own preference is 3 spaces.) For example:
>
> if found;
> limit = previous - 4;
> for i = 1 to limit;
> process_item (i);
> endfor;
> endif;
Absolutely, me too...
> For continued statements, the continuation should also be indented
> some additional amount, and each continued line should be indented
> the same amount. Unlike Joel, I don't see any problem with
> continuing for more than two lines. Indeed, if a procedure has
> several parameters, and each can be an expression, it may make sense
> to code each parameter on a separate line.
Yes, I should have been clearer: I don't necessary consider that
wrapping because the parms are contained within a procedure call. I was
thinking more along the lines of something long and messy like this:
/free
myNewValue = %rem( x * ( calcSomeValue( divisor : multiplier ) ) :
godKnows( var1 * %diff( date1
: date2 : *d ) ) ) -
%rem( ( cos( myValue ) * PI ) : sqrt(
sin( another ) );
/end-free
OK, rotten example, but I hope I made my point. One problem is
readability, the other is debug: a big statement like that becomes
troublesome to debug. It's supposed to be a common sense rule.
> For compound logical expressions, my preference is to code each
> sub-condition on a separate line with the logical operator at the
> beginning of the new line. And to contradict my previous rule on
> continued statements, I prefer *not* indenting in this case. For
> example:
>
> if found
> and item_found <> 'junk'
> and item_found <> 'garbage';
> // Process valid item
> process_item
> (item_found:
> search_code:
> library_name + '/' + file_name);
> endif;
I tend to do this if the conditional statements are more complex, but if
they are simple I don't bother.
> Getting further into a coding standard, you get into things that are
> more personal preference. But you might want to consider the following:
// Lots more great stuff deleted
At a certain point it definitely becomes preference. Just remember when
you are writing your standard that adopting a Style has two main
purposes, consistency and consistency.
:-)
Joel
http://www.rpgnext.com
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.