【发布时间】:2010-11-01 15:40:19
【问题描述】:
我有一个用 C++ 编写的全新代码库。我已经开始看到项目中出现了一些不好的做法(具有 1000 多行代码的类文件、具有大量参数的函数……)。
我想立即停止使用一些自动化工具,这些工具可以连接到构建并检查不良编码实践。您对此类工具有什么建议?我对度量很感兴趣,但对一种风格的 lint 更感兴趣,它会突出显示具有 37 个参数的函数。
【问题讨论】:
标签: c++ code-metrics
我有一个用 C++ 编写的全新代码库。我已经开始看到项目中出现了一些不好的做法(具有 1000 多行代码的类文件、具有大量参数的函数……)。
我想立即停止使用一些自动化工具,这些工具可以连接到构建并检查不良编码实践。您对此类工具有什么建议?我对度量很感兴趣,但对一种风格的 lint 更感兴趣,它会突出显示具有 37 个参数的函数。
【问题讨论】:
标签: c++ code-metrics
很抱歉,我无法在样式方面为您提供帮助,但这是一个支持 C++ 并且是 free: SourceMonitor 的出色度量工具。
特别是,您将获得良好的信息,例如 Cyclomatic Complexity(我发现不良编程实践比参数数量更有价值),以及代码行数、cmets 百分比、最长函数等。
试一试——它也非常快。
【讨论】:
与其他人一样,我不确定有什么工具可以判断风格。但是CCCC 会产生大量指标,可以帮助您找到问题所在。圈复杂度等指标将为您提供问题点所在的定量证据。缺点是您必须将这些指标与您自己采用或创建的样式指南结合起来。
【讨论】:
Metrix++ 匹配这个用例,并且有几个你可能感兴趣的指标。在这里查看:http://metrixplusplus.sourceforge.net/
【讨论】:
确保始终使用 -Wall 编译器选项进行编译,并确保在警告持续存在时不签入任何代码。
找到一个可以遵循的标准风格,比如this one。
【讨论】:
-Wall 不会自动警告 OP 提到的问题(长函数,高圈复杂度)。