add HACKING.rst: style guide

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
This commit is contained in:
Isaku Yamahata 2012-02-22 13:21:42 +09:00 committed by FUJITA Tomonori
parent c7d42280cf
commit 6461c84cb7

59
HACKING.rst Normal file
View File

@ -0,0 +1,59 @@
Python version and libraries
============================
* Python 2.6+
As RHEL 6 adopted python 2.6, features only for 2.7+ should be avoided.
* standard library + widely used library
Basically widely used == OpenStack adopted
As usual there are exceptions. gevents. Or python binding library for other
component.
Coding style guide
==================
* pep8
As python is used, PEP8 is would be hopefully mandatory for
http://www.python.org/dev/peps/pep-0008/
* pylint
Although pylint is useful for finding bugs, but pylint score not very
important for now because we're still at early development stage.
* Google python style guide is very helpful
http://google-styleguide.googlecode.com/svn/trunk/pyguide.html
Guidelines derived from Guido's Recommendations
============================= ================= ========
Type Public Internal
============================= ================= ========
Packages lower_with_under
Modules lower_with_under _lower_with_under
Classes CapWords _CapWords
Exceptions CapWords
Functions lower_with_under() _lower_with_under()
Global/Class Constants CAPS_WITH_UNDER _CAPS_WITH_UNDER
Global/Class Variables lower_with_under _lower_with_under
Instance Variables lower_with_under _lower_with_under (protected) or __lower_with_under (private)
Method Names lower_with_under() _lower_with_under() (protected) or __lower_with_under() (private)
Function/Method Parameters lower_with_under
Local Variables lower_with_under
============================= ================= ========
* OpenStack Nova style guide
https://github.com/openstack/nova/blob/master/HACKING.rst
Reference
=========
* Python Essential Reference, 4th Edition [Amazon]
* Paperback: 717 pages
* Publisher: Addison-Wesley Professional; 4 edition (July 19, 2009)
* Language: English
* ISBN-10: 0672329786
* ISBN-13: 978-0672329784
* The Python Standard Library by Example (Developer's Library)
* Paperback: 1344 pages
* Publisher: Addison-Wesley Professional; 1 edition (June 11, 2011)
* Language: English
* ISBN-10: 0321767349
* ISBN-13: 978-0321767349