File: standards.rst

package info (click to toggle)
circuits 3.1.0%2Bds1-1
  • links: PTS, VCS
  • area: main
  • in suites: buster, stretch
  • size: 9,764 kB
  • sloc: python: 15,945; makefile: 131
file content (43 lines) | stat: -rw-r--r-- 1,217 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
Development Standards
=====================


We use the following development standards:


Cyclomatic Complexity
---------------------

- Code Complexity shall not exceed ``10``
  
  See: `Limiting Cyclomatic Complexity <http://en.wikipedia.org/wiki/Cyclomatic_complexity#Limiting_complexity_during_development>`_


Coding Style
------------

- Code shall confirm to the `PEP8 <http://legacy.python.org/dev/peps/pep-0008/>`_ Style Guide.

.. note:: This includes the 79 character limit!

- Doc Strings shall confirm to the `PEP257 <http://legacy.python.org/dev/peps/pep-0257/>`_ Convention.

.. note:: Arguments, Keyword Arguments, Return and Exceptions must be
          documented with the appropriate Sphinx`Python Domain <http://sphinx-doc.org/latest/domains.html#the-python-domain>`_.


Revision History
----------------

- Commits shall be small tangible pieces of work.
  - Each commit must be concise and manageable.
  - Large changes are to be done over smaller commits.
- There shall be no commit squashing.
- Rebase your changes as often as you can.


Unit Tests
----------

- Every new feature and bug fix must be accompanied with a unit test.
  (*The only exception to this are minor trivial changes*).