如何计算Netbeans php项目的LOC ?
我还没有找到在netbeans(任何操作系统)中这样做的方法,但我猜你可以用下面的东西来摆脱:
把这个小脚本保存到你能找到的地方:(我们说"cntln.php")
<?php
function countLinesInFile($fileInfo)
{
return count(file($fileInfo));
}
function countLinesInDir($directory, $filePattern)
{
$total = 0;
$iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($directory));
foreach($iterator as $fileInfo)
{
if (-1 < preg_match($filePattern, $fileInfo->getFileName()))
{
$total += countLinesInFile($fileInfo);
}
}
return $total;
}
function usage($argv)
{
printf("usage: php -q %s <directory> <filematch>n", reset($argv));
printf(" - directory: path to the root directory of a project.n");
printf(" - filematch: regex pattern for files to include.n");
return 1;
}
if (count($argv) < 3)
{
die(usage($argv));
}
printf("%dn", countLinesInDir($argv[1], $argv[2]));
并在命令行(cmd.exe)中使用:
c:> php -q cntln.php "C:projectsfoo" "~.php$~"
可能有错误,因为我刚刚输入了它,主要是在SO文本框中。
我正在寻找相同的并绊倒了这个问题,但公认的答案仅适用于LOC,而不是LLOC,而ProjectCodeMeter似乎有点过头了。
我找到了一个为我工作的解决方案:phploc by Sebastian Bergmann。
您可以使用ProjectCodeMeter来计算任何php项目上的逻辑代码行(LLOC)(它知道注释和空行)
您可以使用PDepend或PHPMetrics。都是免费的开源项目
- Pdepend
- PHPMetrics