是否有可用的工具来为您的项目计算代码量度(例如,代码行数,圈复杂度,耦合,内聚性),并随时间产生显示趋势的图形?
是否有可用的工具来为您的项目计算代码量度(例如,代码行数,圈复杂度,耦合,内聚性),并随时间产生显示趋势的图形?
Answers:
在我的最新项目中,我使用了SourceMonitor。这是一个用于代码指标分析的不错的免费工具。
这是SourceMonitor官方网站的摘录:
- 快速,单次通过源文件收集指标。
- 测量以C ++,C,C#,VB.NET,Java,Delphi,Visual Basic(VB6)或HTML编写的源代码的度量。
- 包括C ++,C,C#,VB.NET,Java和Delphi的方法和功能级别指标。
- 将指标保存在检查点中,以便在软件开发项目期间进行比较。
- 在表格和图表中显示和打印指标。
- 在标准Windows GUI或使用XML命令文件的脚本中运行。
- 将指标导出到XML或CSV(逗号分隔值)文件,以供其他工具进一步处理。
对于仅是最佳工具NDepend之外的.NET ,我可以推荐vil。
以下工具可以执行趋势分析:
Sonar绝对是您必须考虑的工具,尤其是对于Java项目。但是,它也可以处理PHP或C / C ++,Flex和Cobol代码。
这是显示项目中一些指标的屏幕截图:
替代文字http://sonar.codehaus.org/wp-content/uploads/2009/05/squid-metrics.png
请注意,您可以通过使用其演示站点(位于http://nemo.sonarsource.org)来试用该工具。
我也在寻找适用于我的IDE的代码度量工具/插件,但据我所知,没有一个(对于Eclipse而言)也没有显示指定时间段内的复杂性图表。但是,我确实找到了eclipse指标插件,它可以处理:
在使用它时,我也不会错过您正在寻找的图形选项。
我认为,如果找不到任何可以随时间推移处理图形的插件/工具,则应查看最适合您并为您提供所需全部信息的工具。即使给定的信息仅适用于项目的当前版本。
附带说明,eclipse指标插件允许您将数据导出到外部文件(链接转到示例),因此,如果您使用源控制工具,并且应该这样做,则始终可以导出特定对象的数据。构建和存储文件以及源代码,这样您仍然有一种(基本)方式可以追溯到过去并检查差异。
请记住,您衡量的是您得到的。loc没有提及生产力或效率。
通过代码行给程序员评分,您将获得..代码行。其他指标也使用相同的论点。
otoh .. http://www.crap4j.org/是一个非常保守和有用的指标。它设置了覆盖范围的复杂性。
NDepend,我正为此目的使用它及其最佳功能。检查此:http : //www.codeproject.com/KB/dotnet/NDepend.aspx
对于Visual Studio .NET(至少是C#和VB.NET),我发现免费的StudioTools对于度量非常有用。它还增加了ReSharper等商业工具中的许多功能。
在PHP方面,我认为例如phpUnderControl包含通过phpUnit的指标(如果我没有记错的话)。
请记住,指标通常存在缺陷。例如,与解决复杂问题的编码器相比,从事琐碎问题的编码器将产生更多的代码,并且在那里看起来更好。
Scitools的Understand确实能够为您生成许多代码指标。我在代码指标功能方面经验不足,但是静态分析功能总体来说不错,价格也很合理。支持非常好。
Project Code Meter提供差异的开发历史报告(Excel格式),以SLOC,时间和生产率百分比显示您的编码进度指标(其时间估算基于圈复杂度和其他指标)。然后,在Excel中,您可以轻松生成所需的图形。
请参阅逐步描述它的本文:http : //www.projectcodemeter.com/cost_estimation/help/FN_monsizing.htm
对于Java,您可以尝试使用我们的工具QualityGate,该工具可以计算60多个源代码指标,跟踪所有时间的变化,还可以对源代码的可维护性进行总体评估。