如何统计代码行数?

打算从事开发,经常被问到某个项目有多少行代码。话说我怎么知道有多少行代码,又不是命令行的简单程序,看下编辑器就知道写了多少行。难道整天闲着没事就数下代码行数?

不过他们问这个也有他们的道理——方便了解项目规模。

一个项目一般都有好多文件,难道要每个都打开来数下?GUI类型的自动生成的代码又算不算,怎么统计呢?

话说各IDE软件真该开发一键统计项目代码行数功能。

请大家不吝赐教,知无不言,言无不尽,谢谢。

阅读 58.8k
8 个回答

最好自己写脚本,如果在Windows下有个软件SourceCounter可以用

Linux下可以cloc,Mac上也可以用

统计代码行数一般需要确定统计内容,纯代码行数、空行、注释,不同语言(例如Java、XML),比如Java下如果只是单纯统计行数,一堆POJO就很多(包括setter、getter方法)

linux 或者 Mac 用户,可以用一条shell命令,统计代码行数.

# 进入工程目录.执行如下命令.
# 统计python 代码行数,含注释,跳过空行.
find . -name "*.py" | xargs grep -v "^$" | wc -l

# 统计iOS代码.
find . -name "*.m" -or -name "*.h" | xargs grep -v "^$"| wc -l

嫌 cloc 慢的可以用 loc。这是个 Rust 程序,比 cloc 快一百多倍。支持 .gitignore 什么的所以不数生成的代码。


下边是三年前的回答:

cloc。是个 Perl 脚本。

示例:

>>> cloc .
     146 text files.
     137 unique files.                                          
     775 files ignored.

http://cloc.sourceforge.net v 1.60  T=3.76 s (23.6 files/s, 3187.4 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
Python                          82           1472            705           8485
C                                5             84             28            626
YAML                             1              0              0            588
make                             1              3              0              7
-------------------------------------------------------------------------------
SUM:                            89           1559            733           9706
-------------------------------------------------------------------------------

find /your/path/root/dir/ | xargs wc -l 后面有个total,但是最好去掉那些可执行文件。

想这种需求,一般都是写个脚本就搞定了,perl、bash等都可以的。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进