Lines of code 软件代码行度量-是否包含注释?

Lines of code 软件代码行度量-是否包含注释?,lines-of-code,Lines Of Code,作为一个爱好项目和学习练习,我决定用Python实现一个软件代码行度量脚本 不过,我有一个问题: 测量中是否包含注释 我采用的方法是:打开文件,从头到尾读取,数一数行数。若要忽略注释,请跳过该行,否则继续并递增计数器。是这样做的吗 请注意,我知道有很多工具存在,可能比我的更好(例如,sloccount就是一个例子),但我是作为一个完全的爱好者程序来做这件事的 没有 如果一行逻辑代码被包装了呢 通常情况下,您不会将注释计数为一行代码,但这本身就是一个有用的指标,因此在解析文件时,您可能应该对注释进

作为一个爱好项目和学习练习,我决定用Python实现一个软件代码行度量脚本

不过,我有一个问题:

  • 测量中是否包含注释
  • 我采用的方法是:打开文件,从头到尾读取,数一数行数。若要忽略注释,请跳过该行,否则继续并递增计数器。是这样做的吗 请注意,我知道有很多工具存在,可能比我的更好(例如,
    sloccount
    就是一个例子),但我是作为一个完全的爱好者程序来做这件事的

  • 没有
  • 如果一行逻辑代码被包装了呢

  • 通常情况下,您不会将注释计数为一行代码,但这本身就是一个有用的指标,因此在解析文件时,您可能应该对注释进行计数

    最好检查不是空白的行,并以没有行继续字符的CRLF结束。在正则表达式中,这意味着您希望避免这样的行(假设反斜杠是您的行延续字符):


    如果你发现这样一行,不要增加计数器。当然,正则表达式可能会因您使用的语言(引擎)而有所不同,使用正则表达式甚至可能不是最合适的方法-简单的状态引擎可能更好。

    使用简单的bash命令不可能吗,在Python脚本中使用bash命令,导入操作系统和命令:)

    @tob:这正是我的观点。但是,如果我开始检查这个,比如在Python中包装长行,如果有人使用了\,我会怎么做呢?这样处理我的程序会非常复杂。但是我刚刚检查了
    sloccount
    ,它也将行包装为两行。因此,像:
    print'1stline'\'second line'
    这样的行被视为两行。对不起,我不是Python大师。我只是想回答你问题的概念方面。@tob:啊,没问题,我只是指出:)不客气。如果它适合您的需要,请接受它。虽然这对业余项目来说不是个坏主意,但请记住,用代码行衡量项目就像用飞机的重量衡量飞机的价值一样。:)@阿尼斯:我听过这句话,我明白它的意思:)啊,我明白了。这其中涉及很多技术细节。我想如果我把我的项目扩大,那么它就不可行了。如果我坚持使用一种语言,我想我可以使它更完整。
    \\\s*\n\r