Search code examples
javascriptcoding-stylerhinoserverside-javascript

Server side Javascript best practices?


We have a CMS built on Java and it has Mozilla Rhino for the server side JS. At the moment the JS code base is small but growing. Before it is too late and code has become a horrible mess I want to introduce some best practices and coding style.

Obviously the name space control is pretty important. But how about other best practices - especially for Java programmers?


Solution

  • Here's some tips from the front lines:

    • Like Java, use docblocks in Doxygen/JsDoc style for functions
    • Unit test. Personally like JsTestDriver, as it can be executed automatically from CI server too.
    • Use JSLint. It will nitpick about bad code
    • Consider using Google Closure Compiler. It will nitpick about code like JSLint, but it can be helpful for spotting poor doc blocks etc.
    • Make sure everyone on your team understands how closures work. Otherwise it'll lead to headaches
    • As you mention, namespaces are important especially if you want your code to work nice with other JS libraries (var myns = myns || {};)
    • Personally I find using a library which provides OOP helpers like classes etc. helpful. You could use prototypal inheritance but it's often a bit trickier that way.