101

複数のプロジェクトに分割された大規模なソース リポジトリがあります。ソース コードの健全性に関するレポートを作成し、対処が必要な問題領域を特定したいと考えています。

具体的には、サイクロマティックな複雑度の高いルーチンを呼び出し、繰り返しを特定し、糸くずのような静的分析を実行して、疑わしい (したがってエラーの可能性が高い) 構造を見つけたいと考えています。

このようなレポートを作成するにはどうすればよいでしょうか。

4

8 に答える 8

36

循環的複雑度を測定するために、traceback.orgで利用できる優れたツールがあります。このページには、結果の解釈方法の概要も示されています。

pylintの場合は+1 。これは、コーディング標準(PEP8または独自の組織のバリアント)への準拠を検証するのに優れており、最終的には循環的複雑度を軽減するのに役立ちます。

于 2008-09-19T20:44:22.040 に答える
29

循環的複雑度については、 httpsradon : //github.com/rubik/radonを使用できます。

(pipインストールに使用: pip install radon)

さらに、次の機能もあります。

  • 生のメトリクス (SLOC、コメント行、空白行などを含む)
  • Halstead メトリクス (すべて)
  • 保守性インデックス (Visual Studio で使用されるもの)
于 2013-02-10T01:47:31.273 に答える
18

静的分析にはpylintpycheckerがあります。個人的には、pychecker よりも包括的と思われる pylint を使用しています。

循環的複雑度については、この perl プログラム、または同じことを行う Python プログラムを紹介するこの記事を試すことができます

于 2008-09-19T08:05:48.283 に答える
11

新しいプロジェクトを理解する必要がある場合、Picana は魅力的に機能します。

PyCAna (Python コード アナライザー) は、コードの実行後にクラス ダイアグラムを作成する、Python 用の単純なコード アナライザーの派手な名前です。

それがどのように機能するかを参照してください: http://pycana.sourceforge.net/

出力:

代替テキスト

于 2010-05-09T20:50:34.383 に答える
6

Pydevのおかげで、pylintEclipse IDEに非常に簡単に統合し、変更されたファイルを保存するたびにコードレポートを取得できます。

于 2008-09-19T09:19:57.637 に答える
6

pep8、pyflakes、および循環的複雑度分析を 1 つのツールで提供する flake8 を使用します。

于 2014-03-26T01:08:02.707 に答える
4

同様のコード スニペットを見つけるのに役立つCloneDiggerというツールがあり ます。

于 2009-02-22T09:57:22.757 に答える