苹果app代码行数统计

本案例以object c开发的app为例,若统计统计其它语言开发的app,只需要修改参数列表”*[.h|.m|.mm|.cpp|.c|.plist|.html|.htm]”。
申请软件著作权时,需要提供代码的前1000行的代码和后1000行的代码,代码行数等信息。
如:
硬件环境:iphone4及以上手机
软件环境:iOS 8及以上版本
编程语言:Object C
源程序两:207579行
java服务器开发有插件可以直接统计代码量。而苹果我没有对应的插件。苹果本来就时从UNIX和LINUX演变来的,linux的shell命令,在苹果的命令行下都基本适用。所以写出对应的shell命令就能统计出来。注意:因为中英文输入法等问题,可能出现拷贝的语句无法正确执行,可以手动输入就可以了。
统计当前目录及其子目录下忽略空行的代码量语句如下:

find . -name "*.h" | xargs cat|grep -v ^$|wc -l
find . -name "*.m" | xargs cat|grep -v ^$|wc -l
find . -name "*.c" | xargs cat|grep -v ^$|wc -l
find . -name "*.cpp" | xargs cat|grep -v ^$|wc -l
find . -name "*.mm" | xargs cat|grep -v ^$|wc -l
find . -name "*.html" | xargs cat|grep -v ^$|wc -l
find . -name "*.htm" | xargs cat|grep -v ^$|wc -l

统计忽略空行,忽略以“//”开头的行注释(不能忽略以“/”开始或“\”结束的代码块注释),统计object c开发常用的文件代码行数。只需要下面一行命令就能实现代码行数统计:

find . -name "*[.h|.m|.mm|.cpp|.c|.html|.htm]"|xargs cat|grep -v -e ^$ -e ^\s*\/\/.*$|wc -l

语句执行效果截图(由于显示的内容太多,只显示语句查询结果的前部分信息和后部分呢信息,中间的信息就不截图了):
这里写图片描述
这里写图片描述

由于第三方库中包含大量.cpp代码,而苹果开发常用的文件后缀有三种:.h,.m,.mm。所以精简并常用的代码行数统计命令是:

find . -name "*[.h|.m|.mm]"|xargs cat|grep -v -e ^$ -e ^\s*\/\/.*$|wc -l

执行的效果如下:

jiaguoshangdeMacBook-Air:ArtEnjoymentWeChatAuction jiaguoshang$ find . -name "*[.h|.m|.mm]"|xargs cat|grep -v -e ^$ -e ^\s*\/\/.*$|wc -l
cat: .: Is a directory
cat: ./Pods/Target: No such file or directory
cat: Support: No such file or directory
cat: Files/YXFDCategories/YXFDCategories-prefix.pch: No such file or directory
cat: ./Pods/Target: No such file or directory
cat: Support: No such file or directory
cat: Files/YXFDCategories/YXFDCategories-dummy.m: No such file or directory
cat: ./Pods/Target: No such file or directory
.
.
.
cat: ./Pods/Target: No such file or directory
cat: Support: No such file or directory
cat: Files/SDWebImage/SDWebImage-dummy.m: No such file or directory
cat: ./Pods/UMengUShare/UShareSDK/SocialLibraries/Instagram: Is a directory
cat: ./Pods/AliyunOSSiOS/Supporting: No such file or directory
cat: Files/AliyunOSSiOS.h: No such file or directory
  177086
jiaguoshangdeMacBook-Air:ArtEnjoymentWeChatAuction jiaguoshang$

注意需要统计时要用这个目录:
这里写图片描述

当然你想统计包含自己的私有库,需要在上一层目录执行统计命令,不想统计开源库,只需要把对应的开源库的文件夹和文件删除再统计就可以了。

猜你喜欢

转载自blog.csdn.net/jia12216/article/details/81233830