回答:
循環的複雑度を測定するために、traceback.orgに優れたツールがあります。このページでは、結果の解釈方法の概要もわかります。
pylintの +1 。これは、コーディング基準(PEP8または独自の組織のバリアント)への準拠を検証するのに優れており、最終的には循環的な複雑さを軽減するのに役立ちます。
https://flakehell.readthedocs.io/config.html
ただし、実行モデルの方がはるかに堅牢で構成可能であるため、実際には最近お勧めします。
循環的複雑度については、次を使用できますradon
:https : //github.com/rubik/radon
(使用して、pip
それをインストールしますpip install radon
)
さらに、次の機能もあります。
静的解析には、pylintとpycheckerがあります。個人的には、pycheckerよりも包括的であるように見えるため、pylintを使用します。
循環的複雑度については、このperlプログラム、または同じことを行うpythonプログラムを紹介するこの記事を試すことができます
Pycanaは、新しいプロジェクトを理解する必要があるときに魅力のように機能します!
PyCAna(Pythonコードアナライザー)は、コードの実行後にクラス図を作成する、Python用のシンプルなコードアナライザーの架空の名前です。
それがどのように機能するかを見てください:http : //pycana.sourceforge.net/
出力:
Pydevのおかげで、Eclipse IDEにpylintを非常に簡単に統合でき、変更されたファイルを保存するたびにコードレポートを取得できます。
循環的複雑度をチェックするために、もちろんmccabe
パッケージがあります。
インストール:
$ pip install --upgrade mccabe
使用法:
$ python -m mccabe --min=6 path/to/myfile.py
上記のしきい値6に注意してください。パーこの答え、スコア> 5は、おそらく単純化されなければなりません。
のサンプル出力--min=3
:
68:1: 'Fetcher.fetch' 3
48:1: 'Fetcher._read_dom_tag' 3
103:1: 'main' 3
オプションで、pylint-mccabeまたはpytest-mccabeなどを介して使用することもできます。