代码之家  ›  专栏  ›  技术社区  ›  Ray Hayes

从.NET中确定C语言和C++语言的复杂性和复杂性

  •  4
  • Ray Hayes  · 技术社区  · 16 年前

    我已经在我的项目中使用SoRexOnguts2几年来记录源代码复杂度和基本的SLoC(包括注释),以记录C和C++组件。这些是用于向我们的客户进行外部报告的,因此我不能为他们的优点或不足进行争辩。

    我一直在研究一个存储库分析工具,它可以在任何日期/时间为我提供项目的快照视图。我要添加的下一个阶段是缓存指定文件和修订版的度量。

    我知道可以编写sourceMonitor脚本,以允许我提供要测试的文件,并从结果文件csv或xml中获取度量。

    .NET中是否有一个本机库,我可以用它来做同样的事情——例如,避免生成外部进程并解析结果。

    我只需要以下指标:

    • 斯洛克
    • 注释行数
    • 最复杂方法的复杂性
    • 最复杂方法的名称

    我要穿上这个 C.* 规范与规范 C++ 代码。

    编辑:因为我已经有了提供我想要的GUI和报告的工具,所以需要使用库/API编写或生成度量,而不需要手动步骤。理想情况下,我希望获得指定文件/修订版(而不是整个项目)的指标,我的实用程序将自动从版本控制中拖动该指标。

    注意:我为这个创造了一个赏金,当它过期的时候我正在度假…ndepends的答案不满足我,因为它不看源代码,而是看程序集本身!!!!

    5 回复  |  直到 12 年前
        1
  •  2
  •   Matt Howells    16 年前
        2
  •  2
  •   Igor Brejc    15 年前
        3
  •  1
  •   Alexander van Trijffel    12 年前

    一个可靠的基于命令行的计算SLOC的工具是 Cloc . 它支持多种语言,包括C语言和C++语言。支持的输出格式为XML、CSV和SQL。

        4
  •  0
  •   Adam Haile    15 年前

    这不会给您带来功能复杂性,也不会编写脚本(据我所知),但用于VS的Slickedit小工具有一个很棒的SLOC报告工具,您可以从解决方案资源管理器中使用,并在文件、项目或解决方案级别为您提供详细的报告。

    你可以在这里找到它: http://www.slickedit.com/content/view/441

        5
  •  0
  •   Ray Hayes    14 年前

    虽然我从来没有找到一个.NET产品,同样可以解析C和C++,但我确实找到了一个易于使用的产品, CODECOUNT 支持这些语言和更多。

    它有一个简单的命令行,不像在codecount替换它之前我的项目中一直使用的sourceMonitor。