我刚刚安装了 PMD 来分析我的 Java 项目。非常好的工具,强烈推荐。无论如何,我有一些错误说:
“抽象类中的空方法应该是抽象的”
我查看了 PMD 文档,解释说:
因为开发人员可能会依赖这个空的实现而不是编写适当的代码
所以我想我理解这个代码样式错误背后的原因,但考虑以下场景:我有一个名为 Entity 的抽象类。这个类有一个默认实现的布尔方法。(控制是否在删除时删除其相关实体)。只有少数派生类将此默认行为覆盖为 true。
我应该删除默认实现并强制所有派生类声明它们的行为吗?你真的认为这种模式是一种糟糕的做法吗?
澄清: PMD 将具有单个返回语句的方法视为空。