我在Java中有一个类,它有25个成员变量但只有两个“有用”的方法(不包括setter / getters)。我觉得好像有25个全局变量被左,右和中心修改,不知道发生了什么。这是正常的吗?是否有任何“良好实践”规则说明可以合理地将多少数据成员和方法封装在一个类中?
PS:我搜索了SO,但显然这个问题还没有被问到。感谢您的帮助!
答案 0 :(得分:2)
多少?不是我所知道的。
但我使用的规则是将变量保持在尽可能小的范围内。如果并非所有25个成员都代表对象的状态,则不是所有成员都需要成员。
答案 1 :(得分:1)
这听起来确实不对。
我希望每个班级都有一个single responsibility并委托给其他班级并与之合作。如果你有25个成员,那么听起来有很多事情发生。我希望重构这个类:
在类中执行此操作可能是合适的,从而使重构对客户端类不可见。但是如果你有多个二传手/吸气者,我怀疑这不太可能。
但是,您执行重构,请确保该区域由适当的单元测试集合覆盖。
答案 2 :(得分:0)
添加到其他答案后,请查看pmd rules的 TooManyFields 部分。
那里有说明
具有太多字段的类可能会变得难以处理 重新设计以减少字段,可能通过分组相关 新对象中的字段。例如,一个有个人的班级 city / state / zip字段可以将它们放在一个地址字段中。
其他规则也会派上用场,您可以使用pmd和checkstyle等工具来更好地了解代码如何符合标准。