是否有任何工具可用于计算项目的代码度量(例如代码行数,圈复杂度,耦合度,内聚力),并且随着时间的推移产生一个显示趋势的图表?
在我的最新项目中,我使用了SourceMonitor.这是一个很好的代码度量分析免费工具.
以下是SourceMonitor官方网站的摘录:
通过源文件快速,单次传递收集指标.
衡量用C++,C,C#,VB.NET,Java,Delphi,Visual Basic(VB6)或HTML编写的源代码的度量标准.
包括C++,C,C#,VB.NET,Java和Delphi的方法和功能级别度量.
在检查点中保存指标,以便在软件开发项目期间进
在表格和图表中显示和打印指标.
使用XML命令文件在标准Windows GUI或脚本内部运行.
将度量标准导出为XML或CSV(逗号分隔值)文件,以便使用其他工具进行进一步处理.
对于除NDepend之外的 .NET,这是最好的工具,我可以推荐vil.
以下工具可以执行趋势分析:
投
Klocwork Insight
声纳绝对是您必须考虑的工具,尤其是对于Java项目.但是它也将处理PHP或C/C++,Flex和Cobol代码.
以下是显示项目某些指标的屏幕截图:
alt text http://sonar.codehaus.org/wp-content/uploads/2009/05/squid-metrics.png
请注意,您可以在http://nemo.sonarsource.org上使用他们的演示站点来尝试该工具
NDepend for .net
我也在为我的IDE寻找代码度量工具/插件,但据我所知,没有(对于eclipse)也显示了指定时间段内复杂性的图表.但是,我确实找到了eclipse metrics插件,它可以处理:
McCabe的Cyclomatic Complexity
传出耦合
方法缺乏凝聚力
方法中的代码行
字段数
级别数
范围内的当地人数
参数数量
报表数量
每类加权方法
在使用它的同时,我也没有错过您正在寻找的图形选项.
我认为,如果你找不到任何可以随时间处理图形的插件/工具,你应该看看最适合你的工具,并为你提供所需的所有信息; 即使给定的信息仅用于项目的当前构建.
作为旁注,eclipse metrics插件允许您将数据导出到外部文件(链接转到示例),因此如果您使用源控制工具,并且您应该!,您始终可以导出特定数据构建和存储文件以及源代码,这样你仍然有一种(基本)方式可以追溯并检查差异.