功能长度应该有多大(函数中的代码行)?

hIp*_*pPy 3 lines-of-code function

可能重复:
函数/过程/方法应该有多少行代码?

我想知道应该有多少行代码?多少行是太多了.

我读了一会儿,大约10或20行,但这是因为屏幕只能容纳这么多行.现在随着屏幕尺寸变大,这将不成立.

让我们假设函数的任何部分都在其他任何地方使用,即忽略DRY原则.

我想听听其他人对此有何看法.

谢谢.

注意:复制什么时候功能太长了?,当我发布时找不到它.

Caf*_*eek 17

线是无关紧要的,但复杂性是.

一个函数应该完成一项任务,应该很容易理解.它不应该花费你一些时间来准确理解函数的功能和作用.

  • 最好的答案...... (3认同)
  • 在我的经验中,"控制器"或"主循环"怎么样,往往比单一目的函数更复杂 - 当然我做错了...我同意你的评论一般,但是想一想总有例外 (2认同)
  • @blissapp:嗯,总有明显的异常;) (2认同)

JRL*_*JRL 5

Code Complete中很好地回答了这类问题.Steve McConnel写了整整一页来回答这个问题.他的结论是:

数十年的证据表明,这种长度(> 100行)的例程不会比较短的例程更容易出错.让例程的内聚力,决策点的数量,解释例程所需的注释数量以及其他与复杂性相关的考虑因素等问题决定了例程的长度,而不是强加长度限制本身.也就是说,如果你想编写超过200行的例程,请小心.