方法或函数的最大长度是多少?

时间:2014-12-07 02:24:08

标签: methods

一位工作的朋友正在和我争辩说,某些方法可以长达200行,但仍然可以很容易理解。

而且我在争论如果你能分开大方​​法,你应该。 根据经验,任何方法都不应该超过30行。

我搜索了许多地方(当然是谷歌)以获得有利于每种方式的合理解释,但除了“代码将更易于维护”或“分而治之”之外找不到任何东西,但是没有确切解释原因。

有人可以向我解释为什么大方法不好(或不是)的具体原因吗?

2 个答案:

答案 0 :(得分:1)

如果作者以外的其他人可以理解,那么方法,函数或任何代码都是好的。如果你的方法开始变长,很有可能会采用一些重新分解或OOP设计原则将它分成较小的总体责任块。

(即单一责任原则)

编写代码比科学更具艺术性(对不起Comp.Sci。窥视......它的真实性)我不知道任何编译器会关心你的代码是否冗长,但如果你需要稍后更改某些内容这将是一种皇室般的痛苦......相信我。

无论你做什么,总会有另一个程序员有理论或模式要应用,但最后你需要编写有效的代码。没有最终用户会赞扬你的代码是多么优雅,或者你对设计模式的使用有多精彩......他们关心的是它是否有效!

那么,我的建议在哪里......

  1. 编写包含大量注释的代码
  2. 花时间阅读OOP模式
  3. 经常下载和检查其他代码

答案 1 :(得分:0)

如果您有一个200行的方法,并且您将此代码提供给其他人,那么该人可能想要更改它,但在他能够做到这一点之前,他必须经过200行才能理解要编辑的内容。它效率不高,因为它不易阅读。

在实践中,200线方法总是可以用多种方法分割(在你调用它时分而治之)。这样做的好处是可以重复使用这些方法,并且您的方法变得更具可读性。现在,如果您需要编辑该段代码,则只需编辑一次,而不必复制代码两次。

那就是说,我认为一个方法最多30行是非常合适的。但是根据经验,你应该总是问问自己,你的方法的某些部分是否可以重复使用,为了可读性目的而拆分,或者你是否可以使用其他方法使你的代码更小,从而更具可读性。通过在方法中使用参数,您可以使方法更加灵活,这也是一件好事,因为您可以在其他方法中重复使用它。