問題タブ [pmd]
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.
java - これらのPMDルールの理由は何ですか?
DataflowAnomalyAnalysis:「DD」が見つかりました-変数「変数」の異常(行「n1」-「n2」)。
DataflowAnomalyAnalysis:「DU」が見つかりました-変数「変数」の異常(行「n1」-「n2」)。
DDとDUはおなじみのように聞こえます...最も弱い前後の条件に関連するテストや分析などで言いたいのですが、詳細は覚えていません。
NullAssignment:オブジェクトをnullに割り当てることは、コードの臭いです。リファクタリングを検討してください。
null
オブジェクトがローカルオブジェクト(メソッドの外部で使用されていない)である場合、ガベージコレクションを支援するオブジェクトを設定しませんか?それともそれは神話ですか?
MethodArgumentCouldBeFinal:パラメータ'param'が割り当てられておらず、finalとして宣言できます
LocalVariableCouldBeFinal:ローカル変数'variable'をfinalと宣言できます
final
パラメータと変数を使用することに利点はありますか?
LooseCoupling:「LinkedList」のような実装タイプの使用は避けてください。代わりにインターフェースを使用してください
特に必要なことがわかっている場合LinkedList
、将来の開発者に自分の意図を明確にするためにそれを使用しないのはなぜですか?意味のあるクラスパスの最上位にあるクラスを返すことは1つのことですが、変数が最も厳密な意味であると宣言しないのはなぜですか?
PreventSynchronizedAtMethodLevel:メソッドレベルの同期ではなくブロックレベルを使用する
ブロックレベルの同期には、メソッドレベルの同期に比べてどのような利点がありますか?
PreventUsingShortType:短いタイプは使用しないでください
私の最初の言語はCとC++でしたが、Javaの世界では、データを最もよく表すタイプを使用しないのはなぜですか?
command-prompt - 結果はどこに保存されますか?PMDを実行した後
PMDを使用して、アプリケーションのコードレビューを行っています。レビューはできますが、レポートが保存される場所がわかりません。私はこのコマンドを使用しています:
コマンドプロンプトで。
コマンドウィンドウに結果全体を表示しています。
結果をHTMLファイルまたはその他のファイルタイプとして保存する方法はありますか?その場合、どこに保管されますか?何かを構成する必要がありますか?
java - プロジェクト間のCPD/PMD?
うまくいけば、この質問をもう少しわかりやすく、理解しやすいものにするために言い換えています。
単一のWebアプリケーションに組み込まれる約30個のコンポーネント(内部)があります。つまり、独自の個別のPOMを持つ30の異なるプロジェクトを意味します。私はPOMで継承をかなり使用しているので、継承するものの1つは、コードの重複を防ぐためのPMD/CPD構成です。
CPD / PMDを実行していますが、同じプロジェクト内の重複コードのみが検出されます。リファクタリングできるプロジェクト間で共有されているコードがあるかどうかを、私のプロジェクトのいずれかで検出したいと思います。さらに、(同じ概念/パターンを使用して)他のオープンソースの依存関係間でコードが共有されていないことを確認できるものを探していました。
ソースjarで動作することを除いて、CPD/PMDになります。すべてのプロジェクトとその依存関係をスキャンして重複を確認すると、このタスクは大量のメモリを消費します。今は、それを社内プロジェクトに適用したいと思います。それが機能する場合、それをスケールアウトすることは比較的簡単/簡単です。
ウォルター
java - 日食のPMDをカスタマイズできますか?
PMDがEclipseと統合されていることを私たちは知っています。そして、私はそれをカスタマイズしたいと思います。すべての変数を小文字で開始したい場合や、すべてのメソッド名を8文字以上にしたい場合などです。それは可能ですか?
そして、PMDが何の略か知っている人はいますか?
maven-2 - maven-pmd-plugin で最新の PMD リリースをサポートするにはどうすればよいですか?
http://maven.apache.org/plugins/maven-pmd-plugin/は現在、PMD バージョン 4.2.2 をサポートするバージョン 2.4 です。
このプラグインで PMD バージョン 4.2.5 を使用することは可能ですか?
regex - 正規表現一致文字列が my で始まらない
PMD の場合、 で始まる醜い変数を警告するルールが必要ですmy
。
これは、で始まらないすべての変数を受け入れる必要があることを意味しますmy
。
したがって、次のように動作する RegEx (re) が必要です。
いろいろ試しましたが、まだうまくいきません。
java - カスタムPMDルール-パッケージコメントをチェックします
パッケージに特定の式を含むJavadocコメントが含まれるようにするルールを作成しようとしています。例:
AbstractJavaRuleクラスを使用してこのようなルールを作成する方法を知っている人はいますか。ASTPackageDeclarationを見ましたが、これは私が望むものを持っていないようです。
よろしくお願いします...
pmd - PMDのルールの背後にある「理由」
PMDルールセットの背後にある「理由」を説明する優れたリソースはありますか?PMDのサイトには「何」(各ルールの機能)がありますが、PMDにそのルールがある理由と、そのルールを無視すると現実の世界で問題が発生する理由については説明されていません。特に、PMDにAvoidInstantiatingObjectsInLoopsルールとOnlyOneReturnルールがある理由を知りたいと思います(最初のルールはコレクション内の各オブジェクトに対応する新しいオブジェクトを作成する必要がある場合に必要と思われ、2番目のルールは多くの場合必要であるように思われます)いくつかの基準に基づいて値を返します)が、私が本当に求めているのは、PMDのルールの大部分の背後にある「理由」を説明するリンクです。これは、十分な頻度で発生するためです。
明確にするために、私はこれらを無効にできることとその方法を知っています。そもそもなぜそれらがそこにあるのか疑問に思っています。何か明らかなことを見逃してしまったら申し訳ありませんが、これを投稿する前にGoogle検索とSO検索を行いました。また、これらの問題はしばしば「味」の問題であることも理解しています。私が探しているのは、ルールの議論と代替案が何であるかということです。具体的な例を挙げると、ループ内の各オブジェクトをインスタンス化せずに、ループ内のすべてのオブジェクトに対応する1つのオブジェクト(Javaでの一般的な操作)をどのように実装する必要がありますか?
java - ロガーとSystem.out.println
Eclipse用のPMDプラグインを使用していますSystem.out.println()
が、説明とともに使用するとエラーが発生します。
System。(out | err).printが使用されている場合は、ロガーの使用を検討してください。
私の質問は-ロガーとは何ですか?画面への印刷にはどのように使用されますか?なぜそれが良いのですか?