课程的建议大小是多少?

时间:2013-05-03 04:26:10

标签: java jsp

一直在编写一个Java EE 6 Web应用程序,这是我编写的第一个严肃的应用程序。我注意到我的课程大到500行到1000行,可能会变得更大。我不知道一个类应该有多大,或者它是否重要,但我不想继续编写巨大的类,如果它会对应用程序性能产生负面影响。你对我有什么建议吗?

3 个答案:

答案 0 :(得分:2)

“类的第一个规则是它们应该很小。类的第二个规则就是它们 应该小于那个。“

班级名称应描述其履行的职责。实际上,命名 可能是帮助确定班级规模的第一种方式。如果我们不能得出一个简洁 一个类的名称,那么它可能太大了。班级名称越模糊,越多 可能它有太多的责任。例如,类名包括黄鼠狼词 像处理器或经理或超级经常暗示不幸的聚合 责任。

我们也应该能够用大约25个单词写出课程的简短描述, 不使用“if”,“and”,“or”或“but”这两个词。我们如何描述 SuperDashboard? “SuperDashboard提供对最后持有的组件的访问权限 焦点,它还允许我们跟踪版本和构建数字。“第一个”和“是一个 提示SuperDashboard有太多责任。

我们希望我们的系统由...组成 很多小班,不是几个大班。每个小班都包含一个责任, 有一个改变的理由,并与其他几个人合作实现 期望的系统行为。

COHESION =类应具有少量实例变量。一个类的每个方法 应该操纵一个或多个这些变量。一般来说,一个方法的变量越多 操纵该方法对其类更具凝聚力。每个变量所在的类 每种方法使用的是最大的内聚。 通常,建立这样的最大内聚既不可取也不可能 班;另一方面,我们希望凝聚力很高。凝聚力很高的时候 表示类的方法和变量是共同依赖的并且作为一个整体挂起 逻辑整体。

-from 清洁代码:敏捷手册 软件工艺

答案 1 :(得分:1)

一般来说,我会尽可能坚持不超过一页的方法。所以说一种方法是50行+评论,一个大方法BTW,所以这意味着你可能有500行中的6种方法。我怀疑你有超过页面的方法,这使你的课程非常大。

正如其他人所提到的,代码质量受到的影响越大。我会看到你的代码中有多少可以进入一个抽象类,或者作为这些其他类的一部分引用的较小类。

话虽如此,有时候一个小班也不容易。但是如果你的所有类都很大,你可能不会利用抽象类,聚合等等。

答案 2 :(得分:1)

我认为一个类的大小,基于代码行的数量,是一个关于是否应该被分解的模糊指标。

但是,我们应该总是尝试编写最少数量的类和方法。这是因为小东西更容易理解 - 但如果有太多(虽然完全可以理解)的作品,你将无法看到整个画面。

此外,您需要注意JVM的约束,例如解释in this article的方法大小。

您应该删除不再需要的方法(或者只是出于恐惧而添加的方法)。如果未使用代码,则其值小于零。一个班级应该只有一个明确的责任。如果你的班级/有/做了几件不同的事情,你打算怎么称呼这个班级?

你需要找到合适的平衡点。