我不认为实际长度很重要,只要方法的代码在逻辑上属于一起。
您应该尝试通过将代码提取到私有方法来避免重复代码,但仅仅因为某些“长度建议”将长方法划分为部分是没有意义的。
在我看来,我认为它没有改变过:
方法应该具有实现该方法旨在实现的单个目标所需的尽可能多的行。
我认为这不是一成不变的,但根据经验,我建议5-10行。如果它超过10行问你自己是否可以拆分它。通常你可以拆分。
尽量避免使用“地理代码” - 一个包含许多if / switch的代码,每个if-block包含许多行。通常,在这种情况下每个“if”的内部逻辑可以外部化为不同的方法。
如果你有2个循环(不是嵌套循环) - 通常每个循环(或循环的逻辑)都可以外部化。
你应该做你认为合理的限制。没有硬性规定。
如果你看到一个主题的混合观点,通常意味着没有确定的答案,而是一个品味的问题。我建议你选择一个建议,或者自己做。
你可以说一个方法不应该编译成超过65535个字节,因为它不会编译。
它可能不是行数的问题,而是关于制作简洁明确的函数。
还有其他有趣的问题。
https://stackoverflow.com/questions/129599/best-rule-for-maximum-function-size
什么时候功能太长了?
清洁代码 - 罗伯特C.马丁 建议尽可能少的方法给出一个方法(不能记住规则,但是像8行一样)。一个方法应该只负责一次练习也很重要