[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Python coding style

From: Carl Sorensen
Subject: Re: Python coding style
Date: Wed, 1 Jul 2020 11:21:01 -0600

On Wed, Jul 1, 2020 at 10:55 AM Jean Abou Samra <> wrote:

> Hi Carl,
> Thanks for your reply.
> Le 01/07/2020 à 17:05, Carl Sorensen a écrit :
> Hi Jean,
> On Wed, Jul 1, 2020 at 6:03 AM Jean Abou Samra <> wrote:
>> 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).
> I believe we should definitely follow PEP here.  And ideally we should
> have a code formatter that does this for us, so we don't rely on people
> remembering that PEP is different from GNU C standarads.
> Indeed, that was also the subject of a discussion in !190 (
> Since then, I
> looked a very bit into available Python linters and found Pylint which
> looks great. It could be an ultimate step to use it in CI. (So Han-Wen,
> unlike when using Mypy, you don't need to annotate the code you write in
> order to check for bare typos.)
> Running pylint on scripts/ outputs 1687 lines of tips. Excerpts:

pylint shows the problems, but doesn't fix them.  I think that it would be
much better to have an automatic formatter to fix whitespace errors than to
just catch them with pylint.

So I would expect the CI to do something like:


IMO it's a waste of developer brain cells to try to make sure the
whitespace rules for *any* coding standard are followed.  Tools can (and
should) do that.

Expecting developers to make variable names follow standards is fine.  I
have no problem with pylint rejecting a piece of code because we have bad
variable names.  But that's because it's not appropriate (IMO) to have an
automated tool changing variable names.

In short, I think pylint is part of the solution (identifying bad python
code), but is not a complete solution (ensuring whitespace is compliant
with PEP8).



reply via email to

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