【问题标题】:Number of lines in code [closed]代码行数[关闭]
【发布时间】:2011-02-23 22:21:10
【问题描述】:

是否有工具或其他东西可以计算特定 C# 项目中的行数?只是出于好奇...

【问题讨论】:

  • 好奇心很好,但我只想指出,SLOC 通常是一个糟糕的“指标”。哇。 en.wikipedia.org/wiki/Source_lines_of_code#Disadvantages
  • @Andy:除非你按他们计费......我认为 IBM 曾经这样做过。
  • 不,这只是单纯的好奇。
  • 代码行数越多系统越好,Windows是1600万
  • @Chris S,Windows 远不止 1600 万行代码link

标签: c#


【解决方案1】:

我相信有工具,但我发现只使用“在文件中查找”选项并使用此正则表达式会更容易:

^~(:Wh@//.+)~(:Wh@\{:Wh@)~(:Wh@\}:Wh@)~(:Wh@/#).+

该正则表达式来自here,它还显示了如何搜索它。它将返回许多匹配的行(即代码中的行数)

【讨论】:

  • 哇!真是个黑客!
  • 它正确返回LOC,但它排除了“{”、“}”表达式,我们如何添加“{”、“}”来计数?
  • ^~(:Wh@//.+)~(:Wh@/#).+ 应该这样做。
  • 这个答案在 VS 2013 中是错误的,其中 VS 已更新正则表达式以使用标准正则表达式。 stackoverflow.com/questions/3008010/…
  • 不适用于 Visual Studio 2012
【解决方案2】:

在 Visual Studio 2010 Premium 和 Ultimate 中,您可以转到“分析”选项卡并选择“计算代码指标”,它会为您提供代码行以及可维护性指数、圈复杂度、继承深度和类耦合指标,逐个项目。

您也可以深入研究命名空间和类/接口。

【讨论】:

  • 你说得对,谢谢——我把“Premium”打错了“Pro”——我已经更新了上面的答案。
  • 对于希望使用此功能的任何人,请确保在运行代码指标之前编译您的解决方案。我只是在一个相当大的解决方案上执行此操作,但 15 分钟后收到一个错误,因为我在一个文件中缺少分号。
  • 此功能在2012“Pro”中可用
【解决方案3】:

如果您使用它的“代码分析”工具,Visual Studio 就会这样做。

编辑:10 秒的 google 搜索(使用术语 sloc count c#)返回此代码项目文章:http://www.codeproject.com/KB/files/directorylinecounter.aspx

【讨论】:

    【解决方案4】:

    我在David Wheeler's SLOCCount 上取得了很好的成功。它是一个命令行工具,不幸的是它需要 Cygwin,但我发现它可以毫不费力地处理非常大的 Java 项目。 C# 被列为支持的计数语言。配置是最少的,IIRC 我只是将它指向一个目录,它总结了所有类型的代码,并按每种语言将其分解。

    强烈推荐。

    【讨论】:

    • +1 -- 我已经多次使用这个工具了。它占 cmets 之类的,并且完美无缺。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-03
    • 2012-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-06
    • 2017-05-16
    相关资源
    最近更新 更多