Storage Module Style Guidelines
These guidelines should be followed for all new code in this module. Reviewers
will be enforcing them, so please obey them!
* All code should be contained within the namespace mozilla::storage at a
minimum. The use of namespaces is strongly encouraged.
* All functions being called in the global namespace should be prefixed with
"::" to indicate that they are in the global namespace.
* The indentation level to use in source code is two spaces. No tabs, please!
* All files should have the following emacs and vim mode lines:
-*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
vim: sw=2 ts=2 et lcs=trail\:.,tab\:>~ :
* All functions that are not XPCOM should start with a lowercase letter.
* Function arguments that are not out parameters should be prefixed with a (for
pArameter), and use CamelCase.
* Function arguments that are out parameters should be prefixed with an
underscore and have a descriptive name.
* Function declarations should include javadoc style comments.
* For function implementations, each argument should be on its own line.
* All variables should use camelCase.
* The use of bool is encouraged whenever the variable does not have the
potential to go through xpconnect.
* For pointer variable types, include a space after the type before the asterisk
and no space between the asterisk and variable name.
* If any part of an if-else block requires braces, all blocks need braces.
* Every else should be on a newline after a brace.
* Bracing should start on the line after a function and class definition.
* If a return value is not going to be checked, the return value should be
explicitly casted to void (C style cast).