计算Ubuntu中的逻辑代码行

时间:2012-12-30 00:06:19

标签: php javascript html css ubuntu

我正在开发一个Web应用程序,我需要能够跟踪phpcsshtmlJavaScript行代码。 1}}目录。

但是使用代码计数器的终端行,我自然而然地想要编写更多的行并将代码区分开来:

/var/www

将完成:

if($var == $other)echo("hi");

通过这种方式,我可以提供非常多的行而无需实际工作,有什么方法可以计算目录中的逻辑代码行吗?有没有可以这样做的程序?

谢谢!

3 个答案:

答案 0 :(得分:5)

有一点需要注意,“代码行”度量标准的意义非常可疑,你可以先用空白行开头。

find . -name '*.php' -print0 | xargs -0 cat | egrep -v '^[ \t]*$' | wc

(例如)。

对于像JavaScript这样的语言,个人编码风格会对原始LOC产生非常重要的影响。考虑一些人这样写:

if (testSomething()) return null;

if (somethingElse()) {
  doThis();
} else {
  doThat();
}

有些人这样写:

if (testSomething())
{
  return null;
}

if (somethingElse())
{
  doThis();
}
else
{
  doThat();
}

更有用的东西(尽管如此,在我看来,仍然是可疑的)会有点像“陈述”的东西。当然,您需要一种能够明确理解不同语言语法的工具。

我称此统计数据为“可疑”,因为在组织中,数字的弱性往往会被遗忘,因为它会在电子表格之后进入电子表格。项目经理开始根据LOC提取趋势,记录的错误(也是可疑的),签到(同上等),以及与真实生产力之间存在如此微弱关联的事实就会丢失。

讲道: - )

答案 1 :(得分:3)

有些程序,例如CLOC,可以计算排除注释和空行的代码行,但我认为它们不适用于您的示例代码。

我认为可能有用的是为每种语言找到一些自动代码格式化程序,如http://jsbeautifier.org/,并测量输出中的行数(最好使用前面提到的CLOC)。可能会降低特定程序员编码风格对结果的影响。

答案 2 :(得分:1)

如果你想避免使用正则表达式或实际尝试解析代码的麻烦,你可以只计算分号和闭括号的数量。我的意思是,这些是几乎总能得到自己的线条的两件事。