【发布时间】:2013-11-17 11:40:56
【问题描述】:
很抱歉在这里发布了一个相当模糊的问题 - 但我一直在努力寻找这个问题的明确答案 - 也许没有,但只是想问问其他开发人员。
上周,我的一位同事提到构造函数的长度(在 Java 和一般的 OOP 中)应该保持在最低限度。虽然我总体上同意这种方法,但他继续说应该只有几行 - 最多 3-4 行。
我不确定他是如何得出这个数字的,我想知道这种方法有多大用处。如果您要执行一些复杂的初始化,您的构造函数将超过该限制。 您可以将代码拆分、分解和重构为更小的函数,直到奶牛回家,我更喜欢将相关代码保留在一个方法中,并避免不必要的函数,因为它使代码更具可读性。 这有时会导致构造函数的大小相当适中 - 在最坏的情况下只有 50-100 行代码,但即使我将其分解为函数,从技术上讲,该代码仍然“作为初始化的一部分调用” .那么,100 行代码可能会被一个函数调用替换,但是当您调用该函数时,这 100 行代码仍然会被调用吗? 我还查看了检查类型默认定义,它的默认构造函数长度设置为 150,这听起来“比几行代码”更合理。
很想知道你们遵循什么作为经验法则,或者是否确实存在这样的限制。
【问题讨论】:
-
这是一个固有的主观问题。
-
构造函数告诉你初始化对象的状态,保持简短(并将长行拆分为方法)使这更容易。
-
嗨,programmers.stackexchange.com 是问这些问题的更好地方。一般来说,对于构造函数(对我而言)来说,100 行似乎有点多。但无论如何,我发现划分方法更具可读性,事实上,如果方法命名良好并且按预期工作,它们就会成为初始化的摘要。
标签: java oop constructor coding-style