0

我对数据挖掘项目很感兴趣,并且一直想创建一个分类算法来确定哪些特定的签入需要代码审查,哪些可能不需要。

我已经为我的算法开发了许多启发式方法,尽管我还没有找出杀手...

如何以编程方式检查一段代码的计算复杂度?

此外,甚至更有趣 - 我如何不仅使用代码,还使用源代码控制存储库提供的差异来在那里获得更好的数据..

IE:如果我增加了我要签入的代码的复杂性——但它降低了剩下代码的复杂性——那不应该被认为是“好”的代码吗?

对您对此的想法感兴趣。

更新

显然我并不清楚。我要这个

双 codeValue = CodeChecker.CheckCode(someCodeFile);

我希望根据代码的好坏得出一个数字。当您计算复杂性时,我将从 VS2008 给出的数字开始,但想进一步探索。

有人有想法么?将不胜感激!

4

4 回答 4

3

你看过NDepend吗?该工具可用于计算代码复杂度并支持一种查询语言,您可以通过该语言在应用程序中获取大量数据。

于 2009-04-28T03:56:49.290 回答
0

NDepend网站包含各种指标的定义列表。决定哪些在您的环境中最重要在很大程度上取决于您。

NDepend 也有一个命令行版本,可以集成到您的构建过程中

于 2009-04-28T03:57:19.850 回答
0

此外,Microsoft 的代码分析(与 VS Team Suite 一起提供)包括检查代码圈复杂度的指标,如果此数字超过某个阈值,则会引发构建错误(或警告)。

我不知道,但可能值得检查这个数字是否可以根据您的要求进行配置。然后,您可以在签入某些内容时修改构建过程以运行代码分析。

于 2009-04-28T08:32:17.833 回答
0

请参阅Semantic Designs C# Metrics Tool,了解一种计算完整文件和所有合理细分(方法、类等)的各种标准度量值的工具。

输出是一个 XML 文档,但是使用 XML 阅读器从中提取所需的值应该是微不足道的。

于 2010-03-29T19:03:33.533 回答