Bästa svaret
Det finns flera verktyg för att utföra statisk analys för Python-programmering.
- Pylint → Ett öppen källkodsverktyg
- Kiuwan → Kommersiellt verktyg
- Pyflakes och så vidare.
Jag har använt Pylint och Kiuwan.
Pylint hittar nedanstående saker:
- kontrollerar linjekodens längd,
- kontrollerar om variabelnamn är välformade enligt din kodningsstandard
- kontrollera om importerade moduler används
- kontrollera om deklarerade gränssnitt verkligen implementeras
- kontrollera om moduler importeras
Kiuwan kan stödja nedanstående regeluppsättningar:
- Undvik hårdkodning av IP-adresser
- Duplicerad kod
- Undvik att använda standardparerbara parametrar
- Undvik att använda funktion exec ()
- Undvik tilldelningar till True eller False
- Undvik kedjade jämförelser som innehåller jämställdhetsoperatör
- Undvik för komplexa funktioner
- Öppna filer usin g med-uttalandet
- Undvik att använda föråldrade moduler
- \_init\_-metoden kan inte vara en generator
Det är ett bättre alternativ att söka efter flera verktyg och bestämma vilket verktyg som passar perfekt.
Svar
Jag använder pyflakes för kodkontroll inuti Vim och tycker det är mycket användbart. Men ändå är pylint bättre för kodkontroll före förpliktelse. Du bör ha två nivåer av kodkontroll: fel som inte kan göras och varningar som luktar kod men som kan göras. Du kan konfigurera det och många andra saker med pylint.
Ibland kanske du tycker att pylint är för kräsen: det kan klaga på något som du tycker är helt ok. Tänk två gånger om det. Mycket ofta fann jag att varningen jag tyckte var alltför konservativ för en månad sedan faktiskt var ett mycket bra råd.
Så mitt svar är att pylint är tillförlitligt och robust, och jag känner inte till en mycket bättre kod analysator.