Hvad er de bedste værktøjer til statisk Python-analyse?


Bedste svar

Der er flere værktøjer til at udføre statisk analyse til Python-programmering.

  1. Pylint → Et open source-værktøj
  2. Kiuwan → Kommercielt værktøj
  3. Pyflakes og så videre.

Jeg har brugt Pylint og Kiuwan.

Pylint kan finde nedenstående ting:

  • kontrol af linjekodens længde,
  • kontrol af om variabelnavne er velformede i henhold til din kodningsstandard
  • kontrollere, om importerede moduler bruges
  • kontrollere, om deklarerede grænseflader virkelig er implementeret
  • kontrollere, om moduler er importeret

Kiuwan kan understøtte nedenstående regelsæt:

  • Undgå hardcoding IP-adresser
  • Dupliceret kode
  • Undgå at bruge standardparametre, der kan ændres
  • Undgå at bruge exec () -funktion
  • Undgå tildelinger til sand eller falsk
  • Undgå kædede sammenligninger, der indeholder lighedsoperator
  • Undgå for komplekse funktioner
  • Åbn filer usin g med-erklæringen
  • Undgå at bruge forældede moduler
  • \_init\_-metoden kan ikke være en generator

Det er en bedre mulighed at kontrollere, om der er flere værktøjer og beslutte hvilket værktøj der passer perfekt til kravet.

Svar

Jeg bruger pyflakes til kodekontrol inde i Vim og finder det meget nyttigt. Men stadig er pylint bedre til at foretage kodecheck. Du skal have to niveauer af kodekontrol: fejl, der ikke kan begås, og advarsler, der er kodelugtende, men som kan begås. Du kan konfigurere det og mange andre ting med pylint.

Engang synes du måske, at pylint er for kræsen: det klager måske over noget, som du synes er helt ok. Tænk to gange over det. Meget ofte fandt jeg ud af, at den advarsel, jeg fandt alt for konservativ for en måned siden, faktisk var et meget godt råd.

Så mit svar er, at pylint er pålideligt og robust, og jeg er ikke opmærksom på en meget bedre kode analysator.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *