Java 关于方法max lines的最新建议是什么?

Java 关于方法max lines的最新建议是什么?,java,Java,在过去的几年里,我读了越来越多关于漂亮代码的文章,这些文章建议用某种方法限制行数 有人说这个方法应该适合一个屏幕(没有说你的屏幕大小),另一个说它应该最多40行,第三个说它不重要,只要它易于遵循,等等 现在,这变得太令人困惑,无法理解。关于一个方法应该具有的最大行数的最新建议是什么?您应该做您认为合理的限制。没有硬性规定 如果你对一个话题有不同的看法,这通常意味着没有明确的答案,而是口味的问题。我建议你选择一个建议,或者自己提出 你可以说,一个方法不应该编译到超过65535字节,因为它不会编译。

在过去的几年里,我读了越来越多关于漂亮代码的文章,这些文章建议用某种方法限制行数

有人说这个方法应该适合一个屏幕(没有说你的屏幕大小),另一个说它应该最多40行,第三个说它不重要,只要它易于遵循,等等


现在,这变得太令人困惑,无法理解。关于一个方法应该具有的最大行数的最新建议是什么?

您应该做您认为合理的限制。没有硬性规定

如果你对一个话题有不同的看法,这通常意味着没有明确的答案,而是口味的问题。我建议你选择一个建议,或者自己提出


你可以说,一个方法不应该编译到超过65535字节,因为它不会编译。

我认为实际长度无关紧要,只要该方法的代码在逻辑上属于一个整体


您应该通过将代码提取到私有方法来避免代码重复,但仅仅因为某些“长度建议”而将长方法划分为部分是没有意义的。

我认为它在我看来从未改变过:


一个方法应该有尽可能多的行,以实现该方法要实现的单一目标

清洁代码-罗伯特·C·马丁
建议尽可能少地给出一个方法(不记得规则,但喜欢8行)。同样重要的是,一个方法应该只负责一个练习

这可能不是行数的问题,而是关于生成简洁且定义良好的函数

关于这一点,还有其他有趣的问题


我认为它不是用石头写的,但根据经验,我建议用5-10行。如果超过10行,问问自己是否可以拆分。通常你可以分开

尽量避免使用“地理代码”——一种包含多个if/switch的代码,即每个if块包含多行。通常,在这种情况下,每个“如果”的内部逻辑可以外部化为不同的方法


如果您有两个循环(不是嵌套的循环)-通常每个循环(或循环的逻辑)都可以外部化。

关于这一点的讨论与主题无关-这是一个关于程序员的讨论:有多少是必需的,就没有多少。我不确定这个问题是否有答案;只有意见我喜欢用阿伏伽德罗的数字作为我的标准。我喜欢物理…@duffymo你有没有超过你的极限<代码>6.02214*10^23……我用的是更接近鳄梨的数字。你的标准很好。我从来没有超过我的-没问题!就我个人而言,我认为鲍勃的建议自相矛盾:尽量少写几行;但不超过x@愚蠢的例外没有规则没有例外。这是一个指南,不是你胸口的枪。