"巨大的班级文件很糟糕" - 它真的是什么,最好的解决方案是什么?

时间:2014-12-18 13:46:46

标签: oop

在代码审查中,我听说使用大量代码创建大型类是不好的。显然,我所拥有的1000条代码规则在可读性/导航性方面是非常糟糕的做法,我确实听到了一些感觉。

所以我有一些复杂的类,基本上是不同屏幕背后的代码逻辑。我在Android上编程,所以这是一个片段或活动(虽然这是一个普遍的问题)。

现在我可以选择将方法分组并将它们放在Utility类中。这至少会缩短我的代码,从每个类的行的意义上来说,并且对于什么方法在哪里感觉。但是这些方法实际上只用了不超过1个类,所以它真的应该是一个实用类吗?我的直觉是,实用程序类应该是无状态类,其中包含可用于类的静态方法。

现在我也可以使用可折叠代码块并将其方法分组。这将为我提供可读性和可用性,但不会为其他程序员提供。

然后,如果我查看Android Activity类,它包含超过6000行代码。这被认为是不好的做法吗?

我意识到这个问题可能太多了"基于意见"但我希望有一个明确而共同的答案。

1 个答案:

答案 0 :(得分:3)

在我看来,代码行是一种毫无意义的措施。某些类型的类自然会更长 - 例如MVC控制器。

设计课程时要记住的最重要的原则是single responsibility principle,其中指出:

  

每个班级都应该承担一个责任   责任应完全由类

封装

Android 中的Activity类型可以很好地遵循这个主体,并且如果例如一个活动是一个非常复杂的事情需要大量可怕的嵌套控件和流程语句,那么它仍然是6000行。< / p>

在没有看到课程的情况下,很难说,但在实践中,设计精良的单课不太可能达到这个规模。