問題タブ [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.
c - PMD: C コードを解析するためのコマンドライン
PMD 4.2.5を使用して、C コード内の重複を見つけたいと考えています。ドキュメントのコマンドラインの例を使用します。
これは私にエラーを与えます:
他にもいろいろ試しましたが、どれもうまくいきませんでした。PMD の GUI バージョンは問題なく動作します。
PMD で重複コードを検出するには、どのコマンドラインを使用する必要がありますか?
java - PMD / CPD:コメントを使用してコードのビットを無視する
コードの一部の重複チェックを無視するようにPMDに指示する方法はありますか?
たとえば、次のようなことができますか?
現在、Mavenを使用してこのようにPMDを設定していますが、何かが足りない場合を除いて、やりたいことを実行してほしいという議論はありません。
java - コピーペースト検出器 - デリゲート パターンを回避する方法
私たちは CPD を使用しており、非常にうまく機能しています。
一部のインターフェイスは複数のクラスに実装されています。これらのクラスは、「デリゲート」パターン [ http://en.wikipedia.org/wiki/Delegation_pattern ] を使用して実装コードを共有します。結果のコードが大きくなり、重複コードとして報告されることがあります。この種の問題をスキップするにはどうすればよいですか?
コードの選択部分で重複コード検出をスキップするための注釈または特定のコメント パターンはありますか?
PMD には@SuppressWarnings("PMD")があります。CPDに似たようなものはありますか?
python - Pythonでcpdを使用する
Python コードベースで CPD の GUI バージョンを実行しようとしていますが、最小チャンク サイズを 1 に設定しても重複コードは返されません。
私のコードはそれほど良くありません。
Python プロジェクトで CPD の実行に成功した人はいますか?
static-analysis - コマンドラインから静的コードアナライザーCPDignoreLiteralsとignoreIdentifiersを使用する方法は?
これは、PMD静的アナライザーの機能であるコピーアンドペースト検出器についてです。
はい、http://pmd.sourceforge.net/cpd.htmlをよく読みました。
ignoreLiterals
しかし、ant-taskからCPDを実行する場合は、とを指定することでその作業を微調整できますignoreIdentifiers
。コマンドラインを使用してこれらのキーを指定するにはどうすればよいですか?
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 ツールを使用するのはこれが初めてです。
java - ブロックの重複を検出するソナー CPD
ソナーcpdが重複ブロックを検出する方法について多くの分析を行いました.しかし、コードのブロックまたは行を検出するために必要なプロセスを正確にトリガーすることはできません.最小行数を設定してください.
たとえば、次のように書いている場合、20回以上繰り返してもコードの重複は検出されません。
後でブロックを複製してみました
ここでは多くのブロックを持っていますが、2 つのブロックとして考えています。
ソナー 3.4.1 によるこの重複検出の正確なプロセスを教えてください。
この http://docs.sonarsource.org/3.1/apidocs/src-html/org/sonar/plugins/cpd/SonarEngine.htmlで
一定のブロック サイズが 10 であることがわかりました。しかし、私の観察ではこれを関連付けることができます。
cpd - コード重複 CPD ツールで空白とコメントを回避する方法
コードの重複検出には CPD ツールを使用しています。CPD ツールには空白とコメントが含まれます。重複の正しいケースが発生するように、空白やコメントを回避する方法を教えてください。4 行の重複コードと 4 行のコメントがあるとすると、4 行ではなく 8 行が返されます。
maven - PMD/CPD が重複コードを検出できない
私は初めてPMD/CPD
です。PMD
以下のようにMavenプロジェクトで構成しました:
私のMavenプロジェクトは正常にコンパイルされ、mvn jxr:jxr site
. しかし、重複したコードを示す結果が見つかりません。これをテストするために、次のように、コードに意図的に重複コードを導入しました。
しかし、常にCPD
ソースコードに問題が検出されたことはありません。ただし、PMD
レポートは正常に検索できます。構成またはルールセットが不足していますか?
助けてください!