Answers:
安装Eclipse Metrics插件。创建HTML报告(带有可选的XML和CSV)right-click a project -> Export -> Other -> Metrics
。
您可以通过忽略空白行和仅注释行来调整代码行指标,或者根据需要排除Javadoc。为此,请检查以下位置的标签Preferences -> Metrics -> LoC
。
而已。没有特殊的选择可以排除花括号{}
。
该插件提供了LoC的替代度量,称为Number of Statements。这是作者对此要说的:
此度量标准表示方法中的语句数。我认为它比代码行更健壮,因为代码行在不同的格式约定方面比较脆弱。
编辑:
在澄清了问题之后,我了解到您需要查看实时指标违反情况,例如编译器警告或错误。您还需要报告功能才能为老板创建报告。我上面描述的插件用于报告,因为您必须在想要查看指标时将其导出。
right click a project -> Export
,我直接从eclipse市场安装了插件-版本为- Eclipse Metrics 3.12.0
,谁能帮我。谢谢!
总会有“强力力量”:
搜索->文件
在“包含文本”->中键入以下内容^.*$
。然后选中“正则表达式”复选框
在“文件名模式”中输入以下内容-> *.java
点击“搜索”
在“搜索”标签中检查匹配数。
\n[\s]*
,它也会忽略空行
如果在OSX或* NIX上使用
从* .java文件获取所有实际的Java代码行
find . -name "*.java" -exec grep "[a-zA-Z0-9{}]" {} \; | wc -l
从* .java文件中获取所有行,其中包括空行和注释
find . -name "*.java" -exec cat | wc -l
获取每个文件的信息,这将为您提供[文件路径+“,” +行数]
find . -name "*.java" -exec wc -l {} \;
find . -name "*.java" | xargs cat | grep "[a-zA-Z0-9{}]" | wc -l
另一种方法是使用另一个loc实用程序,例如LocMetrics。
它还列出了许多其他loc工具。与Eclipse的集成并不总是存在的(就像与Metrics2一样,您可以签出,因为它是比Metrics更新的版本),但是至少那些工具可以根据逻辑行进行推理(通过求和计算)终端分号和终端花括号)。
您还可以检查eclipse-metrics是否更符合您的期望。
另一个工具是Google Analytix,即使在出现错误的情况下也无法构建项目,它也将允许您运行指标
在Eclipse中计算代码行的一种可能方法是:
使用“搜索/文件...”菜单,选择“文件搜索”选项卡,为“包含文本”指定\ n [\ s] *(这不会计算空行),然后勾选正则表达式。
我创建了一个Eclipse插件,可以计算源代码的行数。它支持Kotlin,Java,Java Script,JSP,XML,C / C ++,C#和许多其他文件类型。
请看看。对于任何反馈,我们都表示感谢!
ProjectCodeMeter完全按照您的描述计算LLOC(代码的逻辑行)(仅有效行)。它集成到eclipse中,作为外部代码度量工具,虽然不是实时的,但它生成报告。实际上,它计算许多源代码度量,例如复杂性,算术复杂性,硬编码字符串,数字常量。甚至估计开发时间(小时) 。
对于静态分析,我已经使用并建议SonarQube它运行几乎所有你可能需要的指标上各种各样的语言,并且是在基本版本免费的(你要付出分析各种各样的语言我会只能用我的头上的枪来编码)。
您必须将其作为Web应用程序安装,以便在源代码存储库之外运行分析,但是它还具有Eclipse插件。
如果您只想一次性知道项目中有多少行代码,那就太过分了。如果您想通过时间跟踪指标,在项目之间进行比较,在超过阈值时发出警告等,那就太棒了。
披露:我与SonarSource没有财务关系。
首先要做的就是确定您对“代码行”(LOC)的定义。在你的两个问题中
它只将}标记为一行,而他不希望将其视为“不是行,而是样式选择”
在答案中,例如
您可以通过忽略空白行和仅注释行来调整代码行指标,或者根据需要排除Javadoc
您可以说人们对什么构成代码行有不同的看法。特别是,人们通常对他们是否真正想要代码行数或语句数不准确。例如,如果您的以下很长的一行用语句填充,则要报告1 LOC还是数百个语句?
{ a = 1; b = 2; if (a==c) b++; /* etc. for another 1000 characters */ }
并且当有人问您您所说的LOC是什么时,请确保您可以回答,即使这仅仅是“我对LOC的定义是Metrics2的定义”。通常,对于大多数常用格式的代码(与我的示例不同),流行的工具将给出相当相似的数字,因此,只要您始终使用它们,Metrics2,SonarQube等应该都可以。换句话说,不要使用一个工具计算某些代码的LOC并将其值与使用另一种工具测量的该代码的更高版本进行比较。