os-ken/CONTRIBUTING.rst
FUJITA Tomonori a1fe3d92db Rename to CONTRIBUTING.rst
This makes the GitHub interface aware of the contribution guidelines,
so it will be displayed to contributors when they submit issues or
pull requests.

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-04-16 15:56:59 +09:00

89 lines
3.3 KiB
ReStructuredText

*******************************
How to Get Your Change Into Ryu
*******************************
Submitting a change
===================
Send patches to ryu-devel@lists.sourceforge.net. Please don't use 'pull
request' on github. We expect you to send a patch in Linux kernel
development style. If you are not familiar with it, please read the
following document:
http://lxr.linux.no/source/Documentation/SubmittingPatches
Please check your changes with pep8 and run unittests to make sure
that they don't break the existing features. The following command
does both for you:
fujita@rose:~/git/ryu$ ./run_tests.sh
Of course, you are encouraged to add unittests when you add new
features (it's not a must though).
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
* JSON files
Ryu source tree has JSON files under ryu/tests/unit/ofproto/json.
They are used by unit tests. To make patches easier to read,
they are normalized using tools/normalize_json.py. Please re-run
the script before committing changes to these JSON files.
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