lilypond-devel
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]