On 5/7/2016 11:25 PM, Steven D'Aprano wrote:
On Sun, 8 May 2016 02:51 am, DFS wrote:

This more-anal-than-me program generated almost 2 warnings for every
line of code in my program.  w t hey?


                                           DFS comments
+-------------------------+------------+ -------------------------------
|message id               |occurrences |
+=========================+============+
|mixed-indentation        |186         | I always use tab

Obviously not. There are 186 occurrences where you use mixed tabs and
spaces.


I mean I always use tab after :

The program won't run otherwise. If I use spaces, 100% of the time it throws:

IndentationError: unindent does not match any outer indentation level




Try running Tabnanny on you file:

python -m tabnanny <path to your file>


Didn't seem to do anything.



+-------------------------+------------+
|invalid-name             |82          | every single variable name?!

Maybe. What are they called?


+-------------------------+------------+
|bad-whitespace           |65          | mostly because I line up =
                                          signs:
                                          var1  = value
                                          var10 = value

Yuck. How much time do you waste aligning assignments whenever you add or
delete or edit a variable?

Lots.  It takes hours to add or delete 3 whitespaces.



+-------------------------+------------+
|trailing-whitespace      |59          | heh!
+-------------------------+------------+
|multiple-statements      |23          | do this to save lines.
                                          Will continue doing it.

Why? Do you think that there's a world shortage of newline characters? Is
the Enter key on your keyboard broken?

I do it because I like it.

if verbose: print var

python doesn't complain.





+-------------------------+------------+
|no-member                |5           |

"Module 'pyodbc' has no 'connect' member"   Yes it does.
"Module 'pyodbc' has no 'Error' member"     Yes it does.

Issue with pylint, or pyodbc?

*shrug* More likely with Pylint.



+-------------------------+------------+
|line-too-long            |5           | meh
+-------------------------+------------+
|wrong-import-order       |4           | does it matter?

Probably not. I'm curious what it thinks is the right import order.


"wrong-import-order (C0411):
%s comes before %s Used when PEP8 import order is not respected (standard imports first, then third-party libraries, then local imports)"

https://docs.pylint.org/features.html



I think there are some pylint bugs here:
-------------------------------------------------------------------------

standard import "import pyodbc, sqlite3" comes before "import pyodbc, sqlite3" (wrong-import-order)

  * complains that the line comes before itself?

-------------------------------------------------------------------------

standard import "import re, requests" comes before "import pyodbc, sqlite3" (wrong-import-order)

  * So I switched them, and then it complained about that:

standard import "import pyodbc, sqlite3" comes before "import re, requests" (wrong-import-order)

-------------------------------------------------------------------------





+-------------------------+------------+
|missing-docstring        |4           | what's the difference between
                                          a docstring and a # comment?

Comments exist only in the source code.

Docstrings are available for interactive use with help(), for runtime
introspection, and for doctests.

https://docs.python.org/2/library/doctest.html

Thanks


+-------------------------+------------+
|multiple-imports         |2           | doesn't everyone?

You mean something like this?

import spam, ham, eggs, cheese

*shrug* It's a style thing.

pylint gives you demerits for that.



+-------------------------+------------+
|consider-using-enumerate |2           | see below [1]

Absolutely use enumerate.


Everyone else says so, too. But other than cleaner-looking code, I'm not understanding how it's a real advantage over:

for j in range(len(list)):




+-------------------------+------------+
|bad-builtin              |2           | warning because I used filter?

Well that's just stupid. Bad PyLint. This should absolutely not be turned on
by default.


It says "Used builtin function 'filter'. Using a list comprehension can be clearer. (bad-builtin)"


--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to