Javaプロジェクトを分析するためにPMDをインストールしました。本当に素晴らしいツール、強くお勧めします。とにかく、私は言っているいくつかのエラーがありました:
「抽象クラスの空のメソッドは、代わりに抽象である必要があります」
PMDのドキュメントを確認したところ、説明には次のように書かれています。
開発者は適切な実装をコーディングするのではなく、この空の実装に依存する可能性があるため
したがって、このコードスタイルエラーの背後にある理由は理解できたと思いますが、次のシナリオを検討してください。Entityという抽象クラスがあります。このクラスには、デフォルトの実装を持つブールメソッドがあります。(削除時に関連するエンティティを削除するかどうかを制御します)。派生クラスのいくつかだけが、このデフォルトの動作をtrueにオーバーライドします。
デフォルトの実装を削除して、すべての派生クラスに動作を宣言させる必要がありますか?このパターンは本当に悪い習慣だと思いますか?
明確化: PMDは、単一のreturnステートメントを持つメソッドを空として扱います。