Difference between revisions of "ProgClub standard JavaScript format"

From ProgClub
Jump to: navigation, search
m (White space...)
(Work, work...)
Line 44: Line 44:
 
   
 
   
 
   foo();
 
   foo();
 
 
   bar();
 
   bar();
 
   
 
   
Line 64: Line 63:
  
 
Try to keep line-length less than 78 characters (not a hard rule).
 
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.

Revision as of 00:11, 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.