DISABILITARE ADBLOCK

ADBlock sta bloccando alcuni contenuti del sito

ADBlock errore
risultati trovati: 

DOMANDA

Ho un repository di grandi dimensioni suddiviso su più progetti. Vorrei presentare una relazione sulla salute del codice sorgente, identificando le aree problematiche che devono essere affrontate.

In particolare, vorrei richiamare le routine con un'elevata complessità ciclomatica, identificare la ripetizione e forse eseguire analisi statiche simili a lanugine per individuare costrutti sospetti (e quindi probabilmente errati).

Come potrei fare per costruire un simile rapporto?

SOLUZIONE

Per misurare la complessità ciclomatica, è disponibile uno strumento utile in traceback.org . La pagina offre anche una buona panoramica di come interpretare i risultati.

+1 per pylint . È ottimo per verificare l'adesione agli standard di codifica (sia PEP8 o il tuo variante dell'organizzazione), che alla fine può aiutare a ridurre la complessità ciclomatica.

Se ti va lasciaci una tua opinione

L'articolo ti è stato utile ed è tradotto correttamente?

ALTRI SUGGERIMENTI

Per la complessità ciclomatica puoi usare radon : https://github.com/rubik / radon

(Usa pip per installarlo: pip install radon )

Inoltre ha anche queste caratteristiche:

  • metriche non elaborate (tra cui SLOC, righe di commento, righe vuote e & amp; c.)
  • Metriche di Halstead (tutte)
  • Indice di manutenibilità (quello usato in Visual Studio)

Per l'analisi statica c'è pylint e pychecker . Personalmente uso il pylint in quanto sembra essere più completo di pychecker.

Per la complessità ciclomatica puoi provare questo programma perl o questo articolo che introduce un programma Python per fare lo stesso

Pycana funziona come un incantesimo quando devi capire un nuovo progetto!

  

PyCAna (Python Code Analyzer) è   un nome di fantasia per un semplice codice   analizzatore per Python che crea un   diagramma di classe dopo aver eseguito il tuo   codice.

Guarda come funziona: http://pycana.sourceforge.net/

uscita:

alt text http://pycana.sourceforge.net/relations.png

Grazie a Pydev , puoi integra il pilastro nella Eclipse IDE in modo molto semplice e ottieni un rapporto codice ogni volta che salvi un file modificato.

Usa flake8 , che fornisce pep8, pyflakes e analisi della complessità ciclomatica in un unico strumento

C'è uno strumento chiamato CloneDigger che ti aiuta a trovare frammenti di codice simili.

Per verificare la complessità ciclomatica, c'è ovviamente il mccabe pacchetto.

Installazione:

$ pip install --upgrade mccabe

Utilizzo:

$ python -m mccabe --min=6 path/to/myfile.py

Nota la soglia di 6 sopra. Per questa risposta , i punteggi & probabilmente 5 dovrebbero essere semplificati.

Output di esempio con --min = 3 :

68:1: 'Fetcher.fetch' 3
48:1: 'Fetcher._read_dom_tag' 3
103:1: 'main' 3

Può facoltativamente essere utilizzato anche tramite pylint-mccabe o pytest-mccabe , ecc.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow