Netbeans 7.4每个方法规则引入了“最大10行”。这个规则从何而来?[关闭]


80

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

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

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


25
10行包含空格,这真是荒唐可笑。

13
是的,让我们全部删除空行...这将改善代码:)
Chris Laarman 2013年

2
不再包含空格。更新您的NB安装补丁1. netbeans.org/bugzilla/show_bug.cgi?id=237620

5
据我了解:这是迫使我们在编写代码时更好地计划思维的一种方式。也就是说,如果必须更长,则可以进行划分。
SaidbakR 2014年

Answers:


129

您可以更改在NetBeans中选择最高方法/函数长度警告的行为(这是在工具- >选项- >编辑器,在提示选项卡,在“行太多,在复选框列表”一节)。

您可以在此处设置最大行数,希望如何发出警告等。

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


6
公平地说,我见过的每一个指标都说代码可读性会随着函数长度的增加而下降。Code Complete 2甚至甚至说可维护性在第50行左右开始急剧下降
。– cwallenpoole

1
如果您已在NetBeans中安装了多种编码语言,请不要忘记先将“语言”汇总汇总切换为“ PHP”。
panticz

构建可维护软件中的Joost Visser说了15行。但这是在整个代码库的上下文中考虑的。长度超过15行的几个单元不会引起关注,但是会出现几个100行的单元。
阿隆索阿尔特

25

“十行规则”与执行测试驱动的开发有关。从理论上讲,任何具有十行以上的方法都可以更好地分解为可测试的单元。它在理论上是成立的,但在实践中,像这样的警告比起警告更令人讨厌。


9
“ 10行规则”确保您一天中的大部分时间都在为您的方法考虑新名称
Ivan Marjanovic

0

我认为这没有约定俗成,特别是在大型项目中,要使小型功能很难工作。

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

本文为他提供了有关5-15行写函数的观点。


0

我总是禁用此警告,以及有关太多嵌套块的警告。我了解的想法是,没有大型方法,但是很多时候这是不实际的,正如其他人提到的那样,如果您继续将代码拆分为任意函数只是为了安抚IDE,最终会导致意粉代码无处不在,重构也成为以后的巨大问题。

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

我个人认为这三个规则共同造成的垃圾意大利面条代码多于创建可读/可测试的代码。


-1

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


5
对我来说,一页一页的课程绝对也不应该成为渴望。放置规则以限制行数很容易,但是您仍然需要将代码逻辑放置在某处。人脑可以容纳多少个功能/类跳入和跳出也有一个限制。
userfuser 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.