【问题标题】:Possible God class violation in PMD 5.4.2PMD 5.4.2 中可能的上帝类违规
【发布时间】:2016-06-14 07:38:45
【问题描述】:

将PMD 5.4.2 用于JAVA 代码,看到一些与Possible God Class 相关的违规行为, 如下:

Possible God class (WMC=69, ATFD=65, TCC=0.03218390804597701)

我不想取消这些警告。 谁能解释一下,解决此违规问题的最佳解决方法是什么。

感谢您的解释。

【问题讨论】:

  • 重写你的代码,让你的类不像看起来那么大?有关指标的更多详细信息,请参阅this question。
  • @Ken Y-N 刚从旧的 pmd 4.2 升级到 pmd 5.4.2,有大量的类,所以无法重写代码。
  • @manoj 如果您不想抑制警告或修复代码,您希望做什么?
  • 那么,要么降级,要么编辑 PMD 源代码。
  • @Ken Y-N 我认为这并不取决于类的大小,因为我有一些类文件,它们的代码行数非常少(大约 100 行)。

标签: java design-patterns pmd


【解决方案1】:

来自http://pmd.sourceforge.net/pmd-5.0.1/rules/java/design.html

God Class 规则使用指标检测 God Class 设计缺陷。上帝类做了太多的事情,非常大而且过于复杂。它们应该分开以更加面向对象。该规则使用“实践中的面向对象的度量标准”中描述的检测策略。违规行为将针对整个班级进行报告。另请参阅参考资料:Michele Lanza 和 Radu Marinescu。实践中的面向对象度量:使用软件度量来表征、评估和改进面向对象系统的设计

还有更多关于如何重构 How do you refactor a God class? 中的上帝类的文章

【讨论】:

  • 它似乎鼓励编写长方法,这很糟糕。
【解决方案2】:

将类分成几个更小的类(更少的方法,更少的其他类)。阅读代码也会更容易。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多