【原创】超快速计算代码行数!略游原创
虽然网上有办法在VS里快速统计代码总行数,但我想出了一个更有趣的办法。首先选择所有代码文件然后右键【属性】查看大小,看下面这个是我一开始写的程序代码:
看有142KB(才两个文件= =),换算成字节就是145408字节,假设每行50个字,那么就是2908行。加上各种换行*2,结果是5816行。
如果把上面的公式简化那么就是 : Line = Size *40.96
实际上我的代码行数是4721 + 1273 = 5994 。比预测的只多了182行,当然看到这里你肯定会觉得这个只是运气罢了,所以让我们来做更多的实验。
按照公式 Line = 5529 ,真实的代码行数大约是5700。多了171行
下面我就不截图了,我多给几组数据:
62 72 1.16
1079 700 0.64
4335 3700 0.85
第一个参数是估算出的代码行数,第二个参数实际的代码行数,而第三个数 = 真实代码行数/估算的,我称它为 代码员特性值。
这个值越高说明你的代码行数比估算的多,要么是注释写得多,要么就是行换得少。总体感觉就是写代码很老实的那种,写很多的注释,然后又不换行。
从以上数据来看,我的特性值都比较低,也符合很少写注释,时不时换行的特征。
我也希望你来测试下自己的特性值,看看是否准确,是否有更多的考虑方式。在多个数据取得平均之后可以再加入最开始的公式:
Line = Size * 41 * PgrK
Author:略游
15-08-06
这里教你如何用python统计一个目录下所有源码行数,author:lichao890427 in 2014
代码统计工具.pl
use File::Find ();
use vars qw/*name *dir *prune/;
*name = *File::Find::name;
*dir = *File::Find::dir;
*prune= *File::Find::prune;
my(@array)=();
sub wanted
{
/^.*\.h|.*\.cpp\z/s &&(push @array,$name);
}
File::Find::find({wanted => \&wanted}, 'C:\\Users\\Administrator\\Desktop\\src');
@ARGV=@array;
print "total file num=$#array\n";
my($lines)=0;
my($wordnum)=0;
while(<>)
{
$wordnum += length $_;
$lines++;
}
print "total lines=$lines\n";
print "total wordnum=$wordnum\n";
话说,你的源码和bin呢? 可以可以!! 本帖最后由 ring_chen 于 2018-1-15 12:08 编辑
感谢楼上两位的分享。这边我也发一个:
在Linux环境下直接使用wc统计一个文件夹内所有c文件的行数:
wc *.c | awk ' END { print $1 } '
说明:wc计算一个目录下所有c文件的行数并完成累加。wc的统计结果经管道送给 awk。最后由awk从中筛选出结果打印。
如果要计算所有c文件和所有h文件的总行数呢?这样:
wc *.c *.h | awk ' END { print $1 } '
当然,awk ' END { print $1 } ' 也可以被省略。省略过滤器 awk 后就能看到全部的统计结果了。
页:
[1]