Policies » Historie » Revize 9
Revize 8 (Jan Pašek, 2021-03-03 13:04) → Revize 9/36 (Jan Pašek, 2021-03-03 16:01)
h1. Project convention
h2. Git
h2. RedMine
h2. Code
h3. General
* Code and all comments shall be written in English
* Code review is done for all code changes
* Unit tests are done for all business logic parts
* Python docstrings (bellow function header) shall be created for all functions describing the purpose, inputs and outputs
* Avoid using names that are too general or too wordy. Strike a good balance between the two
* When using CamelCase names, capitalize all letters of an abbreviation (e.g. HTTPServer)
h3. Packages
* Package names should be all lower case
* When multiple words are needed, an underscore should separate them
* It is usually preferable to stick to 1-word names
h3. Modules
* Module names should be all lower case
* When multiple words are needed, an underscore should separate them
* It is usually preferable to stick to 1 word names
h3. Classes
* Class names should follow the UpperCaseCamelCase convention
* Exception classes should end in “Error”
h3. Global Variables
* Global variables should be all lowercase
* Words in a global variable name should be separated by an underscore
h3. Instance Variables
* Instance variable names should be all lower case
* Words in an instance variable name should be separated by an underscore
* Non-public instance variables should begin with a single underscore
* If an instance name needs to be mangled (interpreter rewrites the name in order to avoid name conflicts in subclasses), two underscores may begin its name
h3. Methods
* Method names should be all lower case
* Words in a method name should be separated by an underscore
* Non-public method should begin with a single underscore
* If a method name needs to be mangled, two underscores may begin its name
h3. Method Arguments
* Instance methods should have their first argument named ‘self’.
* Class methods should have their first argument named ‘cls’
h3. Functions
* Function names should be all lower case
* Words in a function name should be separated by an underscore
h3. Constants
* Constant names must be fully capitalized
* Words in a constant name should be separated by an underscore