At 09:32 AM 9/16/2005 -0700, Heikki Toivonen wrote:
I just got pylint installed properly (I think) and managed to run it
over (hopefully) all of Chandler. It found quite a bit to complain :)

I posted the log here:
https://bugzilla.osafoundation.org/attachment.cgi?id=994&action=view
(bug 1824).

It would be great if you could go and check areas of code you are in
charge of and check whether or not those reported problems are real.

Some words of warning:

Think about the report before changing anything. If you think the report
is correct and you make a change, run Chandler and tests to make sure
the code was not relying on some side effect PyLint did not notice.

I took a detailed look at it for application.schema, and skimmed the rest. I found exactly one useful item out of over 60 warnings and errors in the list for application.schema. (It correctly identifies one unused import.) Codes E0214, W0613, and W0621 in particular were frequent and utterly useless.

W0232 is not only useless, but dangerous: most Chandler item classes should *not* have __init__ methods; please don't add them on the basis of this warning. (Ideally, no Item subclass should have its own __init__ method, and to the extent that we need them, we need to do more work on the schema and/or repository APIs.)

W0232's corollary is W0201, which is always going to show up with Item subclasses that don't initialize attributes in __init__ - which should be *all* of them. So there's little point in paying attention to this one either. (E0201 *may* also be noise in the same way, since it's going to show up if you never assign to an attribute in the class.)


Still, having said all that, just a cursory look at the warnings seems
to show plenty of genuine stuff like unused imports and variables, bad
indents, using undefined variables, and so forth.

Unused imports and bad indents are good information, as is "Dangerous default value {} as argument".

This is just a cursory review of the warnings. Based on my initial impression, I'd say that for everybody to use this report (as currently constructed) is probably a waste of time. At minimum, the codes I listed above should be suppressed in order to clear away some of the noise and misleading implied suggestions that appear to constitute the bulk of the output.

Please note also that just because I haven't said a particular warning is bad, doesn't mean that the warning is good. It probably just means I haven't seen enough occurrences of the message to bother checking it out. There are also warnings that are not "wrong" in the sense that they correctly point out things about the code, but also provide no reason for changing. For example, W0403, W0331, W0141, and W0142 are sort of like saying, "hey, you wrote some code here", or "you used a variable name starting with the letter 'b'". That is, it's not clear why PyLint even bothers to point these out.

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Open Source Applications Foundation "Dev" mailing list
http://lists.osafoundation.org/mailman/listinfo/dev

Reply via email to