Hi All,

Writing javascript code should not be considered lightly. It is as serious
as your server code. If you write crappy code and create bugs,
comparatively they are harder to find and solve; *During code reviews
please make sure following guidelines are also met for any javascript code
written by developers. *

As a general standard for Javascript programming, developers need to adhere
to the javascript guide *[1]* originally published by Google.

As for tools,

   - For code sanity check - JSLint [2] or Closure Linter [3]
   - Javascript documentation - JSDoc-toolkit [4]
   - Unit testing - QUnit [5], JSUnit [6]
   - Javascript minification - JSMin [7], YUICompressor [8], Closure
   Compiler [9]

*What you MUST do*

   - All javascript that are written need to be checked against JSList.
   This is something similar to find-bugs for java.
   - All scripts that are being used across the platform need to be
   minified, from any of the tools mentioned above.
   - Create Unit tests for code javascript code you wright, use one of the
   tools above. (QUnit proves to be easier)
   - Try to do documentation as much as possible and use JSDoc to generate
   documentation

I have documented there guide lines at
https://sites.google.com/a/wso2.com/engineering/standards-conventions/javascript-standards-tools.
(for internal reference) If I have missed anything please do update the
document.

With increase use of javascript as server-side language, I believe we need
conventions and guidelines in-place. We will be creating/modifying tools
such as JSLint, JSMin, JSDoc and QUnit to be compatible with Jaggery as
well.

[1] http://google-styleguide.googlecode.com/svn/trunk/javascriptguide.xml
[2] https://code.google.com/p/jslint4java/
[3] https://developers.google.com/closure/utilities/
[4] http://code.google.com/p/jsdoc-toolkit/
[5] http://docs.jquery.com/QUnit
[6] http://www.jsunit.net/
[7] http://code.google.com/p/jsmin-ant-task/
[8] http://developer.yahoo.com/yui/compressor/
[9] https://developers.google.com/closure/compiler/


-- 
*Thanks & Regards,

Nuwan Bandara
Associate Technical Lead & Member, MC, Development Technologies
WSO2 Inc. - lean . enterprise . middleware |  http://wso2.com
blog : http://nuwanbando.com; email: [email protected]; phone: +94 11 763 9629
*
<http://www.nuwanbando.com/>
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to