Was sind die besten Werkzeuge für die statische Python-Analyse?


Beste Antwort

Es gibt mehrere Werkzeuge, um die statische Analyse für die Python-Programmierung durchzuführen.

  1. Pylint → Ein Open Source-Tool
  2. Kiuwan → Kommerzielles Tool
  3. Pyflakes usw.

Ich habe Pylint und Kiuwan verwendet.

Pylint kann Folgendes finden:

  • Überprüfen der Länge des Zeilencodes,
  • Überprüfen, ob Variablennamen gemäß Ihrem Codierungsstandard
  • Überprüfen, ob importierte Module verwendet werden
  • Überprüfen, ob deklarierte Schnittstellen wirklich implementiert sind
  • Überprüfen, ob Module importiert werden

Kiuwan kann die folgenden Regelsätze unterstützen:

  • Vermeiden Sie das Hardcodieren von IP-Adressen
  • Doppelter Code
  • Vermeiden Sie die Verwendung von veränderbaren Standardparametern
  • Vermeiden Sie die Verwendung exec () -Funktion
  • Vermeiden Sie Zuweisungen zu True oder False
  • Vermeiden Sie verkettete Vergleiche mit Gleichheitsoperatoren
  • Vermeiden Sie zu komplexe Funktionen
  • Öffnen Sie Dateien usin g Die with-Anweisung
  • Vermeiden Sie die Verwendung veralteter Module.
  • Die Methode \_init\_ kann kein Generator sein.

Es ist eine bessere Option, nach mehreren Tools und zu suchen Entscheiden Sie, welches Tool perfekt zu den Anforderungen passt.

Antwort

Ich verwende Pyflakes zur Codeprüfung in Vim und finde es sehr nützlich. Trotzdem ist Pylint besser für die Überprüfung des Codes vor dem Festschreiben geeignet. Sie sollten zwei Ebenen der Codeprüfung haben: Fehler, die nicht festgeschrieben werden können, und Warnungen, die nach Code riechen, aber festgeschrieben werden können. Sie können dies und viele andere Dinge mit pylint konfigurieren.

Manchmal denken Sie vielleicht, dass pylint zu wählerisch ist: Es kann sich über etwas beschweren, das Sie für vollkommen in Ordnung halten. Überlegen Sie zweimal darüber. Sehr oft stellte ich fest, dass die Warnung, die ich vor einigen Monaten als übermäßig konservativ empfand, tatsächlich ein sehr guter Rat war.

Meine Antwort lautet also, dass Pylint zuverlässig und robust ist und mir kein viel besserer Code bekannt ist Analysator.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.