doc/dev/coding_standards_js.rst
author Sylvain Thénault <sylvain.thenault@logilab.fr>
Fri, 20 Jan 2017 18:17:04 +0100
changeset 11919 3a6746dfc57f
parent 10492 68c13e0c0fc5
child 12370 b3084ae2e718
permissions -rw-r--r--
Change hooks control (deny_all_hooks_but / allow_all_hooks_but) to be more predictable Prior to this, if one execute code like: with cnx.hooks.deny_all_hooks_but('metadata'): with cnx.hooks.deny_all_hooks_but(): # mycode 'metadata' hooks will be activated anyway in the inner block, which is rather unexpected (of course in real life you only see the latest hooks control statement, the former being higher in the call stack). This is due to the underlying usage of old `enable_hook_categories` / `disable_hook_categories` methods, which were introduced much before the now official context manager based API (with `cnx.[deny|all]_all_hooks_but(...)`). To move on, this patch drop the two legacy methods, rename and privatize related internal state on the connection (`hooks_mode` becomes `_hooks_mode`, `disabled_hook_cats` and `enabled_hook_cats` become `_hooks_categories`) and reimplement the `_hooks_control` context manager to simply update them. See the added unit test for details.

Javascript Coding Standards
---------------------------

(Draft, to be continued)

:Naming: camelCase, except for CONSTANTS

Indentation rules
~~~~~~~~~~~~~~~~~
- espace avant accolade ouvrante

- retour à la ligne après accolade ouvrante (éventuellement pas
  de retour à la ligne s'il y a tout sur la même ligne, mais ce n'est
  pas le cas ici.

- no tabs


Documentation
~~~~~~~~~~~~~
XXX explain comment format for documentation generation


Coding
~~~~~~
- Don't forget 'var' before variable definition, and semi-colon (';') after **each** statement.
- Check the firebug console for deprecation warnings


API usage
~~~~~~~~~
- unless intended, use jQuery('container') rather than jqNode('container')


See also
~~~~~~~~
http://google-styleguide.googlecode.com/svn/trunk/javascriptguide.xml