Version 21 (modified by Cas, 8 years ago) (diff) |
---|
Coding Styles
Common
- Line length: Maximum of 119 rather than usual 79. That said, where possible keep to 79.
- Indent: 4 spaces, no tabs.
Python
Mostly follow PEP8 and Python Code Style with the following exceptions:
- Line length (see above)
- All byte arrays (byte strings, str) should be decoded to strings (unicode strings, unicode) on input and encoded back to byte arrays on output. From Stackoverflow:
>>> b"abcde" b'abcde' >>> b"abcde".decode("utf-8") 'abcde'
Note: PyGTK/GTK+ will accept str (utf8 encoded) or unicode but will only return str. See GTK+ Unicode docs.
- All relative path separators used within code should be converted to posix format /, so should not contain \ or \\. This is to prevent confusion when dealing with cross-platform clients and servers.
Docstrings
You will find a mix of the older reStructuredText and newer, easier to read, Sphinx Napoleon format.
Going forward the Napoleon Google Style will be used for all new doctrings and eventually convert over the rest.
Single or Double Quotes
The python code base should be "double quotes".
Python References
Useful links to style guides from other projects:
- CKAN Python coding standards
- Google Python Style Guide
- Best of the Best Practices Guide for Python
Javascript
Using codepainter with hautelook style will ensure a consistent coding style.
codepaint xform -p hautelook "file.js"
- Classes should follow the Ext coding style.
- Class names should be in CamelCase
- Instances of classes should use camelCase.
Single or Double Quotes
For the javascript code use 'single quotes'.