[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Python coding style
From: |
Jean Abou Samra |
Subject: |
Python coding style |
Date: |
Wed, 1 Jul 2020 14:02:10 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.8.0 |
Hi everybody,
There is some discussion in !212 about coding style inside our Python
scripts.
The Contributor's Guide (10.5.1) clearly states that "Python code should
use PEP 8". So, I'd like to be sure everyone agrees on the following points
which are part of applying this PEP:
- Remove spaces before the opening parenthesis in function calls and
definitions,
e.g., f(x) instead of f (x).
- Use `string` instead of `str` as an identifier − `str` being a
built-in type
already. Also common is `s`, but the Contributor's Guide also says (10.5.4)
that "Variable names should be complete words, rather than abbreviations."
(which is basically concerned with C++, but that particular rule is, in my
opinion, valid for Python too). In particular, this applies to
python/convertrules.py.
- Use the standard naming conventions, especially CamelCase for class
names (the
current style being a mixture of CamelCase and sometimes
First_word_capitalized_with_underscores). Write module-level constants in
UPPERCASE_WITH_UNDERSCORES. Likewise, change things like
class error (Exception): pass
to
class MIDIConversionError(Exception):
pass
In CamelCase names that contain acronyms, capitalize all letters of the
acronym
(thus, the previous example doesn't read 'MidiConversionError').
There are many specific changes that could be done to improve style and
readability
(such as replacing `ls = list(something); ls.sort()` with `ls =
sorted(something)`,
etc.), but the above could be made in general commits fixing all Python
files.
Any thoughts?
Best,
Jean