Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在God类代码中是否考虑了私有方法?_Java_Oop_Pmd - Fatal编程技术网

Java 在God类代码中是否考虑了私有方法?

Java 在God类代码中是否考虑了私有方法?,java,oop,pmd,Java,Oop,Pmd,在向现有类添加一个小型私有方法后,PMD开始警告我使用God类 我没有发现任何关于什么类型的方法被认为是代码气味的原因的澄清。它只是说它使用度量来做决定,这样的类做了太多的事情 在我看来,只要我们遵循单一责任规则,我们就可以拥有任意多的私有方法 所以我想知道我的假设是否正确,或者我是否应该遵守PMD警告并进行重构。谢谢 我想你提到了一个关键概念:单一责任原则。只要你记住这个概念(并且遵循其他坚实的规则),你就应该很好 我认为大量的私有方法可能是一件好事——因为您希望维护单层抽象原则 当然:当有太

在向现有类添加一个小型私有方法后,PMD开始警告我使用God类

我没有发现任何关于什么类型的方法被认为是代码气味的原因的澄清。它只是说它使用度量来做决定,这样的类做了太多的事情

在我看来,只要我们遵循单一责任规则,我们就可以拥有任意多的私有方法


所以我想知道我的假设是否正确,或者我是否应该遵守PMD警告并进行重构。谢谢

我想你提到了一个关键概念:单一责任原则。只要你记住这个概念(并且遵循其他坚实的规则),你就应该很好

我认为大量的私有方法可能是一件好事——因为您希望维护单层抽象原则


当然:当有太多的私有方法时,如果有某些“子方面”值得转移到它们自己的不同类中,那么可能值得一看

我想你提到了一个关键概念:单一责任原则。只要你记住这个概念(并且遵循其他的坚实规则),你就应该是好的

我认为大量的私有方法可能是一件好事——因为您希望维护单层抽象原则


当然:当有太多的私有方法时,如果有某些“子方面”值得转移到它们自己的不同类中,那么可能值得一看

为了完成非常好的幽灵猫答案,我要补充一点 God对象模式不仅适用于方法,甚至不适用于公共方法。
这是一种反模式,对象(或问题来自
静态成员的类)知道太多(字段)或做太多(方法)。

因此,字段和方法(
public
as
private
)在同一个类中的累积可能导致类或对象成为不受欢迎的神。

在我看来,我们可以拥有我们想要的任意多的私有方法 只要我们遵循单一责任原则

API的单一责任原则确实是一件好事。
但这并不意味着私有处理/字段应该与此字段冲突。
实际上,当一个类变得真正“大”时,其成员之间的内聚力可能会降低,因此一些成员之间可能会出现不希望出现的耦合。

因此,在其他类中分离不同的处理对于提高代码可读性和可维护性是有意义的。

为了完成非常好的GhostCat答案,我要补充一点 God对象模式不仅适用于方法,甚至不适用于公共方法。
这是一种反模式,对象(或问题来自
静态成员的类)知道太多(字段)或做太多(方法)。

因此,字段和方法(
public
as
private
)在同一个类中的累积可能导致类或对象成为不受欢迎的神。

在我看来,我们可以拥有我们想要的任意多的私有方法 只要我们遵循单一责任原则

API的单一责任原则确实是一件好事。
但这并不意味着私有处理/字段应该与此字段冲突。
实际上,当一个类变得真正“大”时,其成员之间的内聚力可能会降低,因此一些成员之间可能会出现不希望出现的耦合。

因此,在其他类中分离不同的处理对于提高代码可读性和可维护性很有意义。

关键是,当您看到您的类有太多的私有方法时,通常可以将此功能提取到另一个类中,通过这样做,您可以:

  • 减少代码库中的重复
  • 提高其可测试性

  • 因此,这条规则是合法的,因为即使您认为您的设计足够可靠,但很多时候您的对象组合实际上可能更结晶。

    关键是,当您看到您的类有太多私有方法时,通常可以将此功能提取到另一个类中,通过这样做,您可以:

  • 减少代码库中的重复
  • 提高其可测试性
  • 所以这条规则是合理的,因为即使你认为你的设计足够坚固,很多时候你的对象组成实际上可能更结晶