Exceptional coding style
FG
home at fgda.pl
Mon Jan 14 14:53:20 PST 2013
On 2013-01-14 22:31, mist wrote:
> That guy has rather weird sense of beauty... My eyes started bleeding at the
> "Spacing" section.
I sympathize. He posted the worse code excerpt to prove his point. :)
I used to also do "column alignment" in the C code I wrote in the past, but
using spaces and not tabs. Used it for initializing arrays of structs, for
defining a series of bit masks (I bet you have nothing against this use), but
also for a series of function pointer typedefs, for comments and sometimes for
cases in a switch statement.
I think it adds readability when you compare similar lines and you don't even
need syntax highlighting -- as long as the columns are kept narrow (but wide
enough, so that you don't have to push all things whenever you add a line).
The columns idea is mentioned in the file CodeStyleConventions.doc used by
idSoftware, which he links on that page. Here are some of the conventions:
> Use real tabs that equal 4 spaces.
Huh? No tabs, ever!. They usually mess up code posted on webpages.
> Pad parenthesized expressions with spaces:
> if ( x ) {} Instead of if (x) {} And
> x = ( y * 0.5f ); Instead of x = (y * 0.5f);
I agree that it's readable, even more so with functions:
someFunction( parameter1, parameter2 ).method( something );
> Function names start with an upper case:
> void Function( void );
Say what?!
> Typedef names use the same naming convention as variables,
> however they always end with "_t".
> typedef int fileHandle_t;
Now, this is completely reversed...
> Use ‘const’ as much as possible.
Yes, generally good.
> Indent the names of class variables and class methods to make nice columns.
> The variable type or method return type is in the first column and the
> variable name or method name is in the second column.
>
> class idVec3 {
> float x;
> float y;
> float z;
> float Length( void ) const;
> const float * ToFloatPtr( void ) const;
> }
>
> The * of the pointer is in the first column because it improves readability
> when considered part of the type.
Generally yes, but I can't agree with * being with the type, unless there's
always just one variable per line or we're writing in D, for example.
More information about the Digitalmars-d
mailing list