問題タブ [cpd]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
667 参照

c - PMD: C コードを解析するためのコマンドライン

PMD 4.2.5を使用して、C コード内の重複を見つけたいと考えています。ドキュメントのコマンドラインの例を使用します。

これは私にエラーを与えます:

他にもいろいろ試しましたが、どれもうまくいきませんでした。PMD の GUI バージョンは問題なく動作します。

PMD で重複コードを検出するには、どのコマンドラインを使用する必要がありますか?

0 投票する
4 に答える
23855 参照

java - PMD / CPD:コメントを使用してコードのビットを無視する

コードの一部の重複チェックを無視するようにPMDに指示する方法はありますか?

たとえば、次のようなことができますか?

現在、Mavenを使用してこのようにPMDを設定していますが、何かが足りない場合を除いて、やりたいことを実行してほしいという議論はありません。

0 投票する
0 に答える
607 参照

java - コピーペースト検出器 - デリゲート パターンを回避する方法

私たちは CPD を使用しており、非常にうまく機能しています。

一部のインターフェイスは複数のクラスに実装されています。これらのクラスは、「デリゲート」パターン [ http://en.wikipedia.org/wiki/Delegation_pattern ] を使用して実装コードを共有します。結果のコードが大きくなり、重複コードとして報告されることがあります。この種の問題をスキップするにはどうすればよいですか?

コードの選択部分で重複コード検出をスキップするための注釈または特定のコメント パターンはありますか?

PMD には@SuppressWarnings("PMD")があります。CPDに似たようなものはありますか?

0 投票する
2 に答える
1796 参照

python - Pythonでcpdを使用する

Python コードベースで CPD の GUI バージョンを実行しようとしていますが、最小チャンク サイズを 1 に設定しても重複コードは返されません。

私のコードはそれほど良くありません。

Python プロジェクトで CPD の実行に成功した人はいますか?

0 投票する
2 に答える
443 参照

static-analysis - コマンドラインから静的コードアナライザーCPDignoreLiteralsとignoreIdentifiersを使用する方法は?

これは、PMD静的アナライザーの機能であるコピーアンドペースト検出器についてです。

はい、http://pmd.sourceforge.net/cpd.htmlをよく読みました。

ignoreLiteralsしかし、ant-taskからCPDを実行する場合は、とを指定することでその作業を微調整できますignoreIdentifiers。コマンドラインを使用してこれらのキーを指定するにはどうすればよいですか?

0 投票する
1 に答える
80 参照

jdbc - DAO クラスの CPD エラー

複数のメソッドを持つDAOクラスがあります。各メソッドでは、ResultSetに変数名「result」 、PreparedStatementに「statement」を使用し、closeResources()メソッドを使用してPreparedStatementと接続を閉じました。createConnection() メソッド、getConnection() メソッドを持つ DataManager クラスを使用しました。DAO には 10 個の mwthods があります。DAO ファクトリ メソッドを使用して、BO で DAO オブジェクトを取得しています。これはコードのスニペットであり、次のように示されています。 eclipse で CPD ツールを実行したときの違反です。DAO の約 6 ~ 8 つのメソッドで、このコードのスニペットが違反として表示されています。

DAOの多くのメソッドは同じアプローチを使用しているため、CPDは上記のコードを違反として示しており、このコードをよりモジュール化する方法はないと思います.私の質問は、多くの場合「結果」のような同じ変数名を使用しています.メソッドはベストプラクティスかどうかです。違反を解消するには、「結果」の名前を「結果1」、「結果2」などに変更する必要がありますが、それら名前意味がないと感じています。

注: トレーニングは終了しました。Springs や Struts の作業はしていません。サーブレットと JSP しか知りません。ケース スタディを行っています。PMD、CPD ツールを使用するのはこれが初めてです。

0 投票する
1 に答える
11376 参照

java - ブロックの重複を検出するソナー CPD

ソナーcpdが重複ブロックを検出する方法について多くの分析を行いました.しかし、コードのブロックまたは行を検出するために必要なプロセスを正確にトリガーすることはできません.最小行数を設定してください.

たとえば、次のように書いている場合、20回以上繰り返してもコードの重複は検出されません。

後でブロックを複製してみました

ここでは多くのブロックを持っていますが、2 つのブロックとして考えています。

ソナー 3.4.1 によるこの重複検出の正確なプロセスを教えてください。

この http://docs.sonarsource.org/3.1/apidocs/src-html/org/sonar/plugins/cpd/SonarEngine.htmlで

一定のブロック サイズが 10 であることがわかりました。しかし、私の観察ではこれを関連付けることができます。

0 投票する
1 に答える
195 参照

cpd - コード重複 CPD ツールで空白とコメントを回避する方法

コードの重複検出には CPD ツールを使用しています。CPD ツールには空白とコメントが含まれます。重複の正しいケースが発生するように、空白やコメントを回避する方法を教えてください。4 行の重複コードと 4 行のコメントがあるとすると、4 行ではなく 8 行が返されます。

0 投票する
1 に答える
1390 参照

maven - PMD/CPD が重複コードを検出できない

私は初めてPMD/CPDです。PMD以下のようにMavenプロジェクトで構成しました:

私のMavenプロジェクトは正常にコンパイルされ、mvn jxr:jxr site. しかし、重複したコードを示す結果が見つかりません。これをテストするために、次のように、コードに意図的に重複コードを導入しました。

しかし、常にCPDソースコードに問題が検出されたことはありません。ただし、PMDレポートは正常に検索できます。構成またはルールセットが不足していますか?

助けてください!