Difference between revisions of "ProgClub standard JavaScript format"

From ProgClub
Jump to: navigation, search
(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 01: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 );

} );