From 06bf8cf347d8af6740ab5df842abebf17dabac30 Mon Sep 17 00:00:00 2001 From: chenliangyjy Date: Fri, 8 May 2020 12:38:30 +0800 Subject: migrate hdv code from cirv to subproject cirv-hdv project Signed-off-by: chenliangyjy Change-Id: Ieb02ccf45bdf7b0b46cb204c864a521d547a5231 Signed-off-by: chenliangyjy --- CONTRIBUTING.md | 70 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 CONTRIBUTING.md (limited to 'CONTRIBUTING.md') diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..1aa6108 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,70 @@ + + +# General Coding Style + +## Code + +Abide by [PEP-8] for general code. Some particular points to note: + +* Wrap code at 79 characters. +* Use only spaces - no tabs. +* Use implicit string concatenation where possible. Don't use the escape + character unless absolutely necessary. +* Be liberal in your use of whitespace to group related statements together. + However, don't leave a space after the docstring and the first statement. +* Use single quotes for all string literals. + +## Documentation + +Follow [PEP-257] and the [Sphinx guidelines] for documentation. In particular: + +* Wrap docstrings at 72 characters. +* Use double-quotes for all docstrings. +* Write all inline comments in lower-case, except where using a name/initialism. +* Document **all** library functions/classes completely. Tests, however, only need a test case docstring. + +To summarise the docstring conventions: + +```python +def my_function(athing, stuff=5): + """ + Summary line here in imperative tense. + + Longer description here... + + :param athing: Details about this paramter here + :param stuff: Ditto + + :returns: None + """ + pass # code here... +``` + +### Validation + +All code should be checked with the PyLint linter and PEP8 style guide checker. +Pylint can be run like so: + +```bash +pylint +``` + +Most PyLint errors should be resolved. You will need to do this manually. +However, there are cases where they may not make sense (e.g. you **need** to +pass `N` parameters to a function). In this case, disable the relevant +case using an inline `disable` like so: + +```python +# pylint: disable=[code] +``` + +On the other hand, all PEP8 errors should be resolved. + +--- + +[PEP-8]: http://legacy.python.org/dev/peps/pep-0008/ +[PEP-257]: http://legacy.python.org/dev/peps/pep-0257/ +[Sphinx guidelines]: https://pythonhosted.org/an_example_pypi_project/sphinx.html -- cgit 1.2.3-korg