Quality Management:Quality manual/Work instructions/JavaScript coding standard: Difference between revisions

From PMISwiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 70: Line 70:
==Dojo==
==Dojo==


==References==
To be reviewed:
* [http://c2.com/cgi/wiki?JavaScriptCodingStandard|C2.com add description]
* [http://drupal.org/node/260140]


==References==
References:
* [http://tech.yes-co.nl/2009/08/25/jquery-versus-dojo-versus-yui/|jquery vs.dojo vs.yui (Performance)]
* [http://tech.yes-co.nl/2009/08/25/jquery-versus-dojo-versus-yui/|jquery vs.dojo vs.yui (Performance)]
* See all references here: [[QM:Quality_manual#References|References]].
* See all references here: [[QM:Quality_manual#References|References]].

Revision as of 21:39, 5 May 2011

This document is not released - Draft version only

This coding standard is used for all JavaScript programming. That is, but not limited to, JavaScript and extensions to Dojo, YUI, jQuery and Prototype.

The scope of this document is to define coding standards related to the JavaScript language. Review and quality control is not covered herein. Please refer to Review procedure.

JavaScript

This document is under preparation, the following areas should be covered:

  • PHP test page
  • sourcefile/production file
  • naming..

Validation

All released java scripts must be validated by JSLint.com or similar tools, However, the following exceptions are allowed: • It is not recommended to use the “ (??) Any exception shall be explained in the comments to the actual code line.

Furthermore, the script shall be run in Firefox and verified in the error console Firebug. tools, error console

File header

All source files must contain a file header with informations specified by the procedure for Control of Documents. An practical example may be found below:#Document History. Text to copy into the source file may be found here: Source file header.


Function names

All functions names starts with low-case.

Constructor

The variable name of variable containing a function reference must start upper-case.

<script type="text/javascript">
var Person = function(name){
                this.name = name;
             }
var eljefe = new Person ('Peter Stig Andersen');
print(eljefe.name);
</script>

This is to avoid programming errors where the lack of "new" would lead to use/modification of the global context.

Variable declaration

All variables must be declared prior to use.

<script type="text/javascript">
// a globally-scoped variable
var a=1;

// global scope
function one(){
  a = 2;  
  alert(a); 
}
</script>

and

<script type="text/javascript">
// a globally-scoped variable
var a=1;

// local scope
function one(){
   var a = 2; 
   alert(a); 
}
</script>

Provides different functions!

Dojo

References

To be reviewed:

References:

Document History

Version Date Author Status Purpose of update
1 23 Apr 2011 PSA Draft New document