关于方法最大线的最新建议是什么?

时间:2013-07-30 12:00:41

标签: java

在过去几年中,我阅读了越来越多关于漂亮代码的文本,建议在某种方法中限制行数。

有人说这个方法应该适合1个屏幕(没有说出你的屏幕大小),另一个说它应该是最多40行,第三个说它没关系,只要它很容易遵循,等等

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

6 个答案:

答案 0 :(得分:1)

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

如果你看到一个主题的混合观点,通常意味着没有确定的答案,而是一个品味的问题。我建议你选择一个建议,或者自己做一个。

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

答案 1 :(得分:1)

我不认为实际长度很重要,只要方法的代码在逻辑上属于一起。

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

答案 2 :(得分:1)

在我看来,我认为它没有改变过:

方法应该具有所需的行数,以实现该方法旨在实现的单个目标。

答案 3 :(得分:1)

清洁代码 - 罗伯特C.马丁 建议尽可能少的方法给出一个方法(不能记住规则,但是像8行一样)。一个方法应该只负责一次练习

也很重要

答案 4 :(得分:1)

这可能不是行数的问题,而是关于制作简洁明确的函数。

还有其他有趣的问题。

https://stackoverflow.com/questions/129599/best-rule-for-maximum-function-size

When is a function too long?

答案 5 :(得分:1)

我认为这不是一成不变的,但根据经验,我建议5-10行。如果它超过10行问你自己是否可以拆分它。通常你可以拆分。

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

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