Skip to content

Javascript coding standard

AsherGlick edited this page Feb 8, 2012 · 6 revisions

Home >> Coding Standards >> Javascript
The javascript coding standard

Licence

Every file .js file should have a licence title. This can be obtained

/******************************************************************************\
| Copyright (c) 2012, <Your Name>                                              |
| All rights reserved.                                                         |
|                                                                              |
| Redistribution and use in source and binary forms, with or without           |
| modification, are permitted provided that the following conditions are met:  |
|                                                                              |
| * Redistributions of source code must retain the above copyright notice,     |
|   this list of conditions and the following disclaimer.                      |
| * Redistributions in binary form must reproduce the above copyright notice,  |
|   this list of conditions and the following disclaimer in the documentation  |
|   and/or other materials provided with the distribution.                     |
|                                                                              |
| THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"  |
| AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE    |
| IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE   |
| ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE    |
| LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR          |
| CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF         |
| SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS     |
| INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN      |
| CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)      |
| ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE   |
| POSSIBILITY OF SUCH DAMAGE.                                                  |
\******************************************************************************/

This will help maintain the source and attributions within the file

If a file is a collaboration file from multiple users then the author, if desired by the author, should be included in the comments above the function. If there are multiple authors for a single file then a list of authors should also be included at the top of the code.

/*********************************** AUTHORS **********************************\
| Author 1 - [email protected]                                             |
| Author 2 - [email protected]                                             |
\******************************************************************************/

Functions

Each function should have a comment above it describing what the function does

/*********************************** DOUBLE ***********************************\
| Double takes in a single number, multiplies it by two and returns the new    |
| number. Unless the number is 5 then the function just returns 5              |
\******************************************************************************/
function double(number) {
  if (number == 5) {
    return 5;
  }
  var twiceTheNumber = number*2;
  return twiceTheNumber;
}

Spacing

Braces should be placed at the end of the line tabs should consist of two spaces

Packed Files

Packed files do not need to conform to these standards, however every packed file is required to have a corresponding source that conforms to these standards

Creating Code for Existing applications

Each application may have their own minor tweaks for coding for their documents but they will still follow this main outline.
Creating Custom Spreadsheet Functions