81

NetBeans 7.4 beta目前可供公众下载,默认情况下它引入了一个奇怪的警告规则:

方法长度为 16 行(允许 10 行)

我的问题是:这是一个公认的代码约定规则,可以在某个地方以某种方式证明吗?NetBeans 支持/开发人员说这不是错误,但没有说明为什么他们只允许 10 行,以及该规则的确切来源。

4

5 回答 5

129

您可以在 NetBeans 选项中更改最大方法/函数长度警告行为(它位于Tools->Options->Editor下,在Hints选项卡中,在复选框列表中的“ Too Many Lines ”部分下)。

在那里您可以设置最大行数、您希望如何被警告等。

我相信该规则是由 NetBeans 开发人员引入的,因为在团队中工作时,QA 用来“检查”代码的自动化工具会标记长方法声明/函数体。不幸的是,“代码分析师”对自动化工具的使用正在增加,而他们对背后原因的理解仍然有限。我并不是说你的函数应该有数百行长——这完全是错误的,而是一个硬编码的数字作为编码法则——来吧!

于 2013-10-01T09:06:04.717 回答
25

“10 行规则”与强制测试驱动开发有关。理论上,任何超过十行的方法都可以更好地分解为可测试的单元。它在理论上成立,但在实践中,这样的警告比有用更烦人。

于 2013-11-20T15:46:59.040 回答
0

我认为对此没有约定,而且很难让小功能特别是在大项目中工作。

我觉得 NetBeans(或规则)中的问题是只用一个括号或文档计算行数。

这篇文章给了他关于用 5-15 行编写函数的意见。

于 2013-08-16T00:55:12.437 回答
0

我总是禁用这个警告,以及关于太多嵌套块的警告。我理解没有大型方法的想法,但很多时候它只是不切实际,正如其他人所提到的,如果你继续将代码拆分为任意函数只是为了安抚 IDE,你最终会导致意大利面条代码到处乱跳,重构也成为后来的一个大问题。

与行长限制警告相同,在 1985 年,50 个字符长的行可能会让您横向滚动,但今天我们有更大的显示器(现在也是彩色的!)。我见过人们通过缩短变量名称来破坏一行代码以使其符合限制,将完全可读的代码行变成难以理解的混乱,以使其符合限制。

就我个人而言,我认为这三个规则共同导致的垃圾意大利面条代码比帮助创建可读/可测试代码更多。

于 2020-09-08T13:56:01.753 回答
-1

我认为没有这样的规则。我一直认为一个好的约定是类中的代码行数不超过不滚动即可阅读的代码行数。10 行对我来说似乎不是很多,但总的来说,它是为了概述和更容易测试..

于 2013-08-09T13:00:46.537 回答