在面向对象的程序设计中,方法的最大长度当然没有确切的规则,但是我仍然发现这两个引号有些矛盾,因此我想听听您的想法。
罗伯特·马丁(Robert Martin)在《干净代码:敏捷软件工艺手册》中说:
功能的第一个规则是它们应该很小。功能的第二个规则是它们应该小于该值。函数不能长100行。函数几乎不应超过20行。
并列举了肯特·贝克(Kent Beck)的Java代码示例:
他程序中的每个函数只有两行,三行或四行。每个明显透明。每个人都讲一个故事。每个人都以引人注目的顺序将您引向了下一个。那就是您的功能应该有多短!
这听起来不错,但另一方面,在“代码完成”中,史蒂夫·麦康奈尔(Steve McConnell)说了很不一样的话:
例程应允许有机增长到100-200行,数十年的证据表明,这种长度的例程不会比较短的例程容易出错。
他还提到了一项研究,该研究说65行或更长的例程开发起来比较便宜。
因此,尽管对此事有不同意见,但您是否有实用的最佳实践?