Difference between revisions of "ProgClub standard JavaScript format"
(Work, work...) |
(Work, work...) |
||
Line 80: | Line 80: | ||
Prefer // comments to /**/ (not a hard rule). If as a rule you don't use /**/ comments then you can use them temporarily if you need to comment out a bunch of code. If you were using /**/ comments you might not be able to do that because a stray */ would terminate your comment prematurely (/**/ comments don't nest!) I'm still thinking about whether I want to automatically reformat /**/ comments as // comments. | Prefer // comments to /**/ (not a hard rule). If as a rule you don't use /**/ comments then you can use them temporarily if you need to comment out a bunch of code. If you were using /**/ comments you might not be able to do that because a stray */ would terminate your comment prematurely (/**/ comments don't nest!) I'm still thinking about whether I want to automatically reformat /**/ comments as // comments. | ||
+ | |||
+ | Generally space after open bracket and space before close bracket: | ||
+ | |||
+ | function fn( arg_1, arg_2, arg_3 ) { | ||
+ | |||
+ | return arg_1 + arg_2 + arg_3; | ||
+ | |||
+ | } | ||
+ | |||
+ | // including: | ||
+ | |||
+ | ( function( arg ) { | ||
+ | |||
+ | window.arg = arg; | ||
+ | |||
+ | } )(); | ||
+ | |||
+ | // and: | ||
+ | |||
+ | $.on( 'click', function( e ) { | ||
+ | |||
+ | alert( e.whatever ); | ||
+ | |||
+ | } ); |
Revision as of 00:19, 12 April 2016
OK, so if there's such a thing as the ProgClub standard JavaScript format I'd better explain what that is... this page remains a work in progress.
Always use curly brackets even when not required:
if ( true ) { return foo(); } // not: if ( true ) return foo();
All on one line if only one short statement:
if ( true ) { return false; } // not: if ( true ) { return false; }
Multiple lines if an if-block is followed by else/else-if:
if ( true ) { return false; } else { return true; } // not: if ( true ) { return false; } else { return true; }
Multiple lines if more than one statement:
if ( true ) { foo(); bar(); } // not: if ( true ) { foo(); bar(); }
Open curly bracket on same line, close curly bracket on new line:
function test() { return true; }
Always use a semicolon if you can!
Try to keep line-length less than 78 characters (not a hard rule).
New lines before comments:
if ( true ) { // first group of functions: f1(); f2(); f3(); // next group of functions (blank line above): f4(); f5(); }
Prefer // comments to /**/ (not a hard rule). If as a rule you don't use /**/ comments then you can use them temporarily if you need to comment out a bunch of code. If you were using /**/ comments you might not be able to do that because a stray */ would terminate your comment prematurely (/**/ comments don't nest!) I'm still thinking about whether I want to automatically reformat /**/ comments as // comments.
Generally space after open bracket and space before close bracket:
function fn( arg_1, arg_2, arg_3 ) { return arg_1 + arg_2 + arg_3; } // including: ( function( arg ) { window.arg = arg; } )(); // and: $.on( 'click', function( e ) { alert( e.whatever ); } );