Migliore risposta
Esistono più strumenti per eseguire lanalisi statica per la programmazione Python.
- Pylint → Uno strumento open source
- Kiuwan → Strumento commerciale
- Pyflakes e così via.
Ho usato Pylint e Kiuwan.
Pylint può trovare le seguenti cose:
- controllare la lunghezza del codice di riga,
- controllare se i nomi delle variabili sono ben formati secondo il tuo standard di codifica
- controllare se vengono usati i moduli importati
- controllare se le interfacce dichiarate sono veramente implementate
- controllare se i moduli sono importati
Kiuwan può supportare le seguenti serie di regole:
- Evita di codificare indirizzi IP
- Codice duplicato
- Evita di utilizzare parametri modificabili predefiniti
- Evita di utilizzare Funzione exec ()
- Evita assegnazioni a Vero o Falso
- Evita confronti concatenati contenenti operatore di uguaglianza
- Evita funzioni troppo complesse
- Apri file usin g listruzione with
- Evita di usare moduli deprecati
- Il metodo \_init\_ non può essere un generatore
È unopzione migliore per verificare la presenza di più strumenti e decidere quale strumento si adatta perfettamente al requisito.
Risposta
Uso pyflakes per il controllo del codice allinterno di Vim e lo trovo molto utile. Tuttavia, pylint è migliore per il controllo del codice pre-commit. Dovresti avere due livelli di controllo del codice: errori che non possono essere commessi e avvisi che sono odori di codice ma possono essere commessi. Puoi configurare questo e molte altre cose con pylint.
A volte potresti pensare che pylint sia troppo esigente: potrebbe lamentarsi per qualcosa che pensi sia perfettamente a posto. Pensaci due volte. Molto spesso, ho scoperto che lavviso che ho trovato eccessivamente prudente qualche mese fa era in realtà un ottimo consiglio.
Quindi la mia risposta è che pylint è affidabile e robusto, e non sono a conoscenza di un codice molto migliore analizzatore.