我正在开发一个Web应用程序,我需要能够跟踪php
,css
,html
和JavaScript
行代码。 1}}目录。
但是使用代码计数器的终端行,我自然而然地想要编写更多的行并将代码区分开来:
/var/www
将完成:
if($var == $other)echo("hi");
通过这种方式,我可以提供非常多的行而无需实际工作,有什么方法可以计算目录中的逻辑代码行吗?有没有可以这样做的程序?
谢谢!
答案 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)
如果你想避免使用正则表达式或实际尝试解析代码的麻烦,你可以只计算分号和闭括号的数量。我的意思是,这些是几乎总能得到自己的线条的两件事。