2009-07-13 3 views
3

Ich mache die meisten meiner Entwicklung in Java und C++, aber vor kurzem musste verschiedene Skripte schreiben und Python abgeholt. Ich führe Python von der Befehlszeile für Skripts aus; nicht im interaktiven Modus. Ich frage mich, obIn Python gibt es eine Möglichkeit, die Verwendung von falschen Variablennamen zu erkennen; etwas wie VB "Option Explicit"?

Ich mag eine Menge Dinge über die Sprache, aber eine Sache, die reduziert meine Produktivität ist die Tatsache, dass ich keine Vorwarnung bekomme, wenn ich eine Variable verwende, die noch nicht definiert ist.

Zum Beispiel, irgendwo im Code ich vergessen, eine Variable mit seiner Deklaration Modul, oder ich mache einen kleinen Tippfehler, und das erste Mal, dass ich darüber zu erfahren, ist, wenn das Programm abstürzt.

Gibt es eine Möglichkeit, den Python-Interpreter dazu zu bringen, Vorwarnungen zu geben, wenn etwas unberechenbar ist, wenn ich auf eine Variable zugreife, auf die nicht zugegriffen wurde oder die irgendwo anders im Programm steht? Ich weiß, dass dies etwas gegen die Philosophie der Sprache ist, aber ich kann nicht der Einzige sein, der diese dummen Fehler macht und keine Möglichkeit hat, sie früh zu fangen.

Antwort

2

Pydev verwendet werden neu definiert haben, ziemlich gut mit Pylint integriert, siehe here - und Pylint ist ein viel mächtiger als Kontrolleur Pyflakes (über die geringfügige Ausgabe von falsch geschriebenen Variablen, wird es Stil Verstöße fangen, etc, etc - es ist hoch anpassbar für was auch immer Ihre spezifischen Zwecke sind!).

+0

Sieht gut aus. Ich werde es morgen versuchen. Ich muss eine Menge Code umgestalten, und ich hatte Angst davor, wegen der Probleme mit der Namensgebung; Das wird sicherlich helfen. Vielen Dank! – Uri

+0

Obwohl es keine Frage gibt, dass Pylint viel vollständiger ist als Pyflakes, macht die Leistung von Pyflakes es zu einer gültigen Wahl in einigen Situationen, IMO. –

+0

Schätze, es hängt davon ab, welche Hardware du für die Entwicklung verwendest - ich benutze meistens ein langsames Macbook Air, ein semi-langsames Macbook Pro (beide 1. Generation) und eine Linux-Workstation, die zeitgemäß war Ich habe es vor über 4 Jahren bekommen ... bei jedem von diesen finde ich die Leistung von pylint kaum ein Problem (es wird automatisch ausgeführt, mit einer sehr pingeligen angepassten Suite von Style Checks, wann immer ich eine Code-Überprüfung anfordere oder Code übergebe Code-Review). Das ist in einem Python-Projekt mit ein paar Dutzend tausend Zeilen - wenn Sie an viel größeren Projekten oder langsamer HW arbeiten, kann Ihre Laufleistung variieren;). –

2

gibt es einige Werkzeuge wie pylint oder pyflakes, die einige von denen fangen können. Pyflakes ist recht schnell, und verwendbar bei vielen Projekten aus diesem Grunde

Wie auf Pyflakes Webseite berichtet, die beiden Hauptkategorien von Pyflakes gemeldeten Mangel sind:

  • Namen, die verwendet werden, aber nicht definiert oder verwenden vor sie sind
  • Namen definiert, die ohne wird
+0

Sieht cool aus. Ich hoffe, dass Eclipes PyDev konfigurierbar genug ist, damit ich es als Schritt hinzufügen kann. – Uri

Verwandte Themen