os-ken/SubmittingPatches.rst
FUJITA Tomonori 965c46a7a7 doc: integrate HACKING.rst into SubmittingPatches.rst
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-09-04 06:47:58 +09:00

3.0 KiB

How to Get Your Change Into Ryu

Submitting a change

Send patches to ryu-devel@list.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 Exceptions

    CapWords CapWords

    _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 Function/Method Parameters Local Variables

    lower_with_under() lower_with_under lower_with_under

    _lower_with_under() (protected) or __lower_with_under() (private)

  • 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