Codestyle for coala¶
coala follows the PEP8
codestyle with a maximum
line length of 80 characters including newline. Invoke coala
to let
it correct your code automatically.
Additional Style Guidelines¶
Documentation Comments¶
A documentation comment consists of 2 parts - the description of what the function/class/module does followed by the parameters it takes in, the return value it gives out and the exceptions it can raise.
Nothing should be written on the first and last line where the docstring begins and ends, and a newline should separate the description and the rest. Each message in the documentation comment must end with a full-stop. Also the description of all arguments and the return value should begin at the same column.
Example:
def area(length, breadth):
"""
Finds the area of a rectangle of the given length and breadth.
:param length: The length of the rectangle.
:param breadth: The breadth of the rectangle.
:return: The area of the rectangle.
:raises ValueError: Raises ValueError if the arguments are not of type
float or int.
"""
If the description for a param or other keywords exceeds 1 line, continue it in the next. Make sure that the second line is aligned Below the first line.
Example :
:param something: A very long line describing the variable something
in great detail.
:return: This message also started in the same column and it
starts again at the same column as the rest of the
messages.
Type Checking¶
If you want to assure that parameters have a certain type, you can use
the enforce_signature
decorator and simply annotate your function
with the allowed types:
@enforce_signature
def concatenate_strings(a: str, b: str, c: (str, None)=None):
if c is None:
c = ""
return a + b + c
This will raise a TypeError
if a
, b
or c
are no strings
and c
is not None
.