20

重複コードチェッカー用のPythonのライブラリはありますか?Python IDEを使用していますが、コードのリファクタリングで問題が発生しています。プログラム/プロジェクトに重複するコードを提案する利用可能なPythonライブラリはありますか?

更新:私はそのサイトによると、クローン掘削機を見つけました、

いくつかのオープンソースプロジェクトのソースでCloneDiggerをテストしました。現在のレポート形式には、次の欠点があります。

相違点は、diffアルゴリズムを使用して強調表示されます。この強調表示の方法は、ステートメントのシーケンスを類似性について比較する抽象構文ツリーベースのアルゴリズムとは何の共通点もありません。

クラスと関数のコメントは、類似性の計算時に考慮されますが、出力には表示されません。したがって、一部のクローンペアは同じように見えますが、収束としてマークされます。

これより優れたツールはありますか?

4

2 に答える 2

37

Pylintには、類似/重複コードのチェックがあります:https ://pylint.readthedocs.io/en/latest/technical_reference/features.html#similarities-checker

使用法:

pylint --disable=all --enable=similarities src/yourcode/
于 2012-04-18T15:53:57.937 に答える
-15

プログラムによっては、コードに依存関係があり、コードが上書きされたり、上書きされたりする可能性があるため、コードチェッカーが重複しているかどうかを簡単に区別する方法がないため、重複コードチェッカーはありません。。全体として、いいえ、Pythonで知っている重複コードチェッカーはありません。ただし、この場合、変数の使用状況を追跡するより優れたIDEを使用すると役立つ場合があります。:)

于 2012-04-18T15:25:05.913 に答える