Coding Guidelines¶
Broadly speaking we adhere to the Google Python Style Guide, but not always. The style guide is available at http://google-styleguide.googlecode.com/svn/trunk/pyguide.html. This style is based on Python’s PEP 8 http://www.python.org/dev/peps/pep-0008/.
Naming Rules¶
We deviate from PEP 8 / Google’s naming rules as shown here. Essentially we avoid underscores inside names, and prefer to Capitalise words to highlight. The primary motivation is (in our opinion) improved readability: it better binds the words into a single entity. Underscores tend to break the name visually into separate sub-names.
Type | Public | Internal | PEP 8 |
---|---|---|---|
Packages | lowerwordslater | lower_with_under | |
Modules | lowerwordslater | _lowerwordslater | lower_with_under |
Classes | CapWordsLater | _CapWordsLater | CapWords |
Exceptions | CapWordsLater | CapWords | |
Functions | lowerWordsLater() | _lowerWordsLater() | lower_with_under() |
Global/Class Constants | CAPS_WITH_UNDER | _CAPS_WITH_UNDER | CAPS_WITH_UNDER |
Global/Class Variables | lowerWordsLater | _lowerWordsLater | lower_with_under |
Instance Variables | lowerWordsLater | _lowerWordsLater (protected) or __lowerWordsLater (private) | lower_with_under |
Method Names | lowerWordsLater() | _lowerWordsLater() (protected) or __lowerWordsLater() (private) | lower_with_under() |
Function/Method Parameters | lowerWordsLater | lower_with_under | |
Local Variables | lowerWordsLater | lower_with_under |