@ -1,5 +1,8 @@
Coding Guidelines
=================
Generally
=========
---------
Use use regular coding style:
http://www.python.org/dev/peps/pep-0008/
@ -11,10 +14,11 @@ One can break those rules if the situation requires it. Keep it contained.
Some specific rules for this package :
Git
===
---
This project use git-flow {nvie.com/posts/a-successful-git-branching-model}
as a model for branches management. In particular :
1. master is for release only
2. when you commit to develop, run nosetests before. All tests should pass.
3. when you commit to develop, run nosetests before. All tests should pass.
@ -24,7 +28,7 @@ as a model for branches management. In particular :
Alignement
==========
----------
We strive for code clarity first, and then conformance to pep-8.
As such, any code alignement that make the code clearer, easier to use,
@ -32,24 +36,24 @@ edit and debug takes precedence over proper spacing.
Strings
=======
-------
For literals strings, ' is preferred to ", but use " when the string contains '.
yes: "run the command 'flake8' before committing"
no : 'run the command \'flake8\' before committing'
- yes: "run the command 'flake8' before committing"
- no : 'run the command \'flake8\' before committing'
Use '.format' syntax for strings, and '+' only when the use calls it.
Don't mix and match.
yes: s = color + s + end
yes: '{}: file {} could not be read'.format(errorname, filepath)
no : errorname + ': file {} could not be read'.format(filepath)
- yes: s = color + s + end
- yes: '{}: file {} could not be read'.format(errorname, filepath)
- no : errorname + ': file {} could not be read'.format(filepath)
Names
=====
-----
Avoid at all cost to name a variable like a module from the package, a
dependency or the standart lib.
@ -59,9 +63,14 @@ Change either the module or variable name.
Function that have only local uses should be preceded by an underscore.
yes: def _auxiliary_local_fun():
- yes:
def _auxiliary_local_fun():
pass
no : def auxiliary_local_fun():
- no:
def auxiliary_local_fun():
pass
These functiona won't be imported automatically with the module.
@ -71,11 +80,17 @@ natural habitat.
Files
=====
-----
Unless you have a good reason, use 'open' as such :
yes: with open(path, 'w') as f:
- yes:
with open(path, 'w') as f:
f.read()
no : f = open(path, 'r')
- no:
f = open(path, 'r')
f.read()
f.close()