Seite 1 von 2

Verfasst: Mittwoch 28. Mai 2008, 15:18
von Rebecca
(So, jetzt nochmal im richtigen Thread... :oops:)

Mir persoenlich reicht es, pylint aus Emacs heraus manuell aufzurufen. Emacs oeffnet dann ein zweites Fenster mit der Ausgabe von pylint, man kann auf die Fehlermeldungen/Warnungen klicken und kommt dann an die entsprechende Zeile im Sourcecode.

Diejenigen, denen das nicht reicht, koennen pylint mit Emacs' flymake kombinieren: http://blog.printf.net/articles/tag/emacs

Verfasst: Mittwoch 28. Mai 2008, 16:57
von lunar
Rebecca hat geschrieben:Mir persoenlich reicht es, pylint aus Emacs heraus manuell aufzurufen. Emacs oeffnet dann ein zweites Fenster mit der Ausgabe von pylint, man kann auf die Fehlermeldungen/Warnungen klicken und kommt dann an die entsprechende Zeile im Sourcecode.
Klar, wer will auch schon jedes Mal beim Speicher gezeigt bekommen, wie scheiße der eigene Code ist ... das deprimiert doch total.

Verfasst: Mittwoch 28. Mai 2008, 16:59
von birkenfeld
Also ich komme regelmäßig auf >9/10.

Natürlich mit meiner eigenen pylint-Konfigurationsdatei. :)

Verfasst: Mittwoch 28. Mai 2008, 17:10
von lunar
birkenfeld hat geschrieben:Also ich komme regelmäßig auf >9/10.
Ich auch: ``pylint --evaluation 10 foo.py``

Verfasst: Mittwoch 28. Mai 2008, 17:48
von Leonidas
Ich komme immer auf 11/10, sogar ohne Pylint, da ich weiß dass mein Code sowieso immer optimal ist, was auch sonst :P

Verfasst: Mittwoch 28. Mai 2008, 18:19
von audax
C: 1: Missing docstring
W: 6: Relative import 'models'
E: 21:AuthentificationBackend.authenticate: Class 'User' has no 'DoesNotExist' member
E: 28:AuthentificationBackend.authenticate: Class 'Profile' has no 'DoesNotExist' member
R: 14:AuthentificationBackend.authenticate: Method could be a function
E: 39:AuthentificationBackend.get_user: Class 'User' has no 'DoesNotExist' member
R: 34:AuthentificationBackend.get_user: Method could be a function

Your code has been rated at 1.74/10
Ich finde das nicht nett.

Und bei Metaprogrammierung streikt pylint :D
Er findet das generierte Funktionen auf Modulebene bitteschön [ (([A-Z_][A-Z1-9_]*)|(__.*__))$ ] matchen sollen ;)

Verfasst: Mittwoch 28. Mai 2008, 18:24
von lunar
Was hast du denn erwartet? Selbst pylint kann sys.path nicht magisch erweitern, und erkennen, welche der .py-Dateien im System nun zu deiner Anwendung gehören und welche nicht...

Verfasst: Mittwoch 28. Mai 2008, 18:32
von audax
Es war nicht ganz ernstgemeint, keine Angst ;)

Verfasst: Mittwoch 28. Mai 2008, 19:05
von veers
Pylint unterstützt afaik ein gewisses mass an Metaprogrammierung da es per Reflection mit instanzen der Module arbeitet.

Verfasst: Mittwoch 28. Mai 2008, 19:12
von audax
Aber es kann natürlich nicht erkennen, das eine Funktion eine Funktion zurückgibt :o

Naja, ich werd mich mal daran machen, die Filter für mich anzupassen.

Verfasst: Mittwoch 28. Mai 2008, 20:36
von BlackJack
Man kann einzelne Meldungen ja per Kommentar im Quelltext abschalten.