Python code ----------- - Be compatible with Python 2.3. - Indent with tabs. - Continuation lines should be indented using tabs up to the indentation level and after that using spaces. This way the code doesn't visually break with different tab widths. (If this is too cumbersome, try not to use continuation lines.) - Try to keep lines short (ideally under 80 characters measured with 8-space tabs). If a longer line benefits readability, that's fine. (The longer the line, the better the excuse must be.) - Import one module per line, and keep imports sorted. Group system imports and project imports separately. - Use new-style classes (inherit from `object`). - Naming: MyClass, my_function, my_method, my_attribute, _my_protected_member, __my_private_member. - Generally follow the style used in the context you're modifying. If unsure, follow http://www.python.org/dev/peps/pep-0008/[PEP 8]. Makefiles --------- - Be compatible with GNU Make 3.80. Shell scripts ------------- - Be POSIX-compliant. Documentation ------------- - Use http://www.methods.co.nz/asciidoc/[asciidoc] syntax to make the text human- and machine-readable. - Don't go over 80 characters per line.