pylint progress

Alec Warner <[email protected]>
Newsgroups gmane.linux.gentoo.portage.devel
Message-ID <CAAr7Pr91Zkpwj3eNk8uy+aDZi6+sN4fjGS-CmB0CLERyLganjA@mail.gmail.com>
Hi,

Recently I've begun to run pylint on the portage codebase. You can see some
recent PRs on this[0][1][2]. Most of the linter errors I've fixed are what
I consider 'fairly trivial'. In general I'm happy to disable errors (or
instances of errors) in addition to resolving them. You can see some of
this in https://github.com/gentoo/portage/pull/593/files where we just
blanket disable a bunch of very numerous messages (either because I don't
expect to ever fix them, or because they are more work that I think we
should do at the moment.)

So I see essentially a few choices:
 - (a) Do we fix errors in certain classes and run the linter as part of
CI. This means that once we resolve errors of a certain class, we can
enable that class of check and prevent new occurrences.
 - (b) Do we just avoid running the linter as part of CI (perhaps because
we are not far enough along on this journey) and focus our efforts to get
to a point where we can do (a) without spamming CI?
 - (c) What messages should we bother not fixing at all so we can just not
work on those classes of error?

As an example of (c); I believe 'protected-access' is likely intrusive to
fix and pointless for portage (cat is out of the bag) where as a message
like W0612(unused-variable) is plausibly something we should fix
throughout the codebase. Similarly I think "E0602(undefined-variable)" is
often a bug in how pylint treats our lazy initialized variables, so most of
these are false positives.

I think getting these messages recorded will also enable other people
besides me to fix them (I know b-man said he was interested.) Curious to
hear thought on this.

-A

[0]
https://gitweb.gentoo.org/proj/portage.git/commit/?id=49794e185350f0f9c8099ff84507873685b2b0f1
[1]
https://gitweb.gentoo.org/proj/portage.git/commit/?id=550727af87d5f646617e0c19a3f3300c8117e7f5
[2]
https://gitweb.gentoo.org/proj/portage.git/commit/?id=be20b37180f709ab0e451e4e07b6e82ac3a87b56
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.