苹果app代码行数统计

简介: 苹果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

注意:新版的M1芯片的苹果电脑上面的单行命令查询支持,下面的查询不支持:

pple@AppledeMacBook-Pro SameCity % find . -name "*.h" | xargs cat|grep -v ^$|wc -l
     681
apple@AppledeMacBook-Pro SameCity % find . -name "*.m" | xargs cat|grep -v ^$|wc -l
    6939
apple@AppledeMacBook-Pro SameCity % find . -name "*[.h|.m|.mm]"|xargs cat|grep -v -e ^$ -e ^\s*\/\/.*$|wc -l
zsh: no matches found: ^s*//.*$
       0
cat: .: Is a directory
xargs: cat: terminated with signal 13; aborting
apple@AppledeMacBook-Pro SameCity % find . -name "*[.h|.m|.mm|.cpp|.c|.html|.htm]"|xargs cat|grep -v -e ^$ -e ^\s*\/\/.*$|wc -l
zsh: no matches found: ^s*//.*$
       0
cat: .: Is a directory
cat: ./SameCity/ViewModel: Is a directory
xargs: cat: terminated with signal 13; aborting
apple@AppledeMacBook-Pro SameCity % 

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

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

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

若参数太多可以分成4句来统计:

jgs:PinkPig的副本3 mac$ find . -name "*[.h|.m|.mm|.cpp|.c|.html|.htm]"|xargs cat|grep -v -e ^$ -e ^\s*\/\/.*$|wc -l
xargs: cat: Argument list too long
       0
find . -name "*.htm" | xargs cat|grep -v ^$|wc -l
find . -name "*[.c|.cpp]"|xargs cat|grep -v -e ^$ -e ^\s*\/\/.*$|wc -l
find . -name "*.html" | xargs cat|grep -v ^$|wc -l
find . -name "*.htm" | xargs cat|grep -v ^$|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$

注意需要统计时要用这个目录:

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

目录
相关文章
|
4月前
|
Java
照片一键生成眨眼视频app,手机照片一键生成眨眼动图,通过JAR代码实现效果
这是一个自动生成眨眼GIF动画的Java程序,包含主程序处理、图像变形和GIF生成三个模块。输入照片路径,自动识别人脸眼睛位置,生成闭眼、半闭眼等多帧图像,并合成为眨眼动效GIF文件。
|
8月前
|
JavaScript 前端开发 Android开发
【03】仿站技术之python技术,看完学会再也不用去购买收费工具了-修改整体页面做好安卓下载发给客户-并且开始提交网站公安备案-作为APP下载落地页文娱产品一定要备案-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
【03】仿站技术之python技术,看完学会再也不用去购买收费工具了-修改整体页面做好安卓下载发给客户-并且开始提交网站公安备案-作为APP下载落地页文娱产品一定要备案-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
230 13
【03】仿站技术之python技术,看完学会再也不用去购买收费工具了-修改整体页面做好安卓下载发给客户-并且开始提交网站公安备案-作为APP下载落地页文娱产品一定要备案-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
|
7月前
|
存储 安全 生物认证
苹果上架APP遇到提示缺少出口合规证明时应该如何处理-什么是APP加密文稿-优雅草卓伊凡
苹果上架APP遇到提示缺少出口合规证明时应该如何处理-什么是APP加密文稿-优雅草卓伊凡
446 62
苹果上架APP遇到提示缺少出口合规证明时应该如何处理-什么是APP加密文稿-优雅草卓伊凡
|
3月前
|
小程序 Java 关系型数据库
圈子系统公众号app小程序系统源码圈子系统带即时通讯 多级圈子系统源码 兴趣小组系统开源 私密圈子系统代码 会员制社区系统
本圈子系统解决方案提供即时通讯、多级圈子、兴趣小组、私密社区及会员制管理功能。支持开源与商业方案,推荐ThinkSNS+、EasyClub及OpenFire等系统,并提供前后端技术选型建议,助力快速搭建社交平台。
139 0
|
4月前
|
消息中间件 缓存 小程序
婚恋交友相亲公众号app小程序系统源码「脱单神器」婚恋平台全套代码 - 支持快速二次开发
这是一套基于SpringBoot + Vue3开发的婚恋交友系统,支持微信公众号、Uniapp小程序和APP端。系统包含实名认证、智能匹配、视频相亲、会员体系等功能,适用于婚恋社交平台和相亲交友应用。后端采用SpringBoot 3.x与MyBatis-Plus,前端使用Vue3与Uniapp,支持快速部署和二次开发。适合技术团队或有经验的个人创业者使用。
258 8
|
4月前
|
BI 开发工具 开发者
App全渠道统计方案:如何用一个工具整合所有获客渠道数据?
还在为地推、社群、广告等不同获客渠道的数据分散而烦恼吗?本文将教您如何用一个工具整合所有渠道数据,实现精准的渠道归因与效果分析。
125 0
|
7月前
|
Swift iOS开发 开发者
苹果app上架-ios上架苹果商店app store 之苹果支付In - App Purchase内购配置-优雅草卓伊凡
苹果app上架-ios上架苹果商店app store 之苹果支付In - App Purchase内购配置-优雅草卓伊凡
693 13
苹果app上架-ios上架苹果商店app store 之苹果支付In - App Purchase内购配置-优雅草卓伊凡
|
7月前
|
安全 API Swift
如何在苹果内购开发中获取App Store Connect API密钥-共享密钥理解内购安全-优雅草卓伊凡
如何在苹果内购开发中获取App Store Connect API密钥-共享密钥理解内购安全-优雅草卓伊凡
436 15
如何在苹果内购开发中获取App Store Connect API密钥-共享密钥理解内购安全-优雅草卓伊凡
|
7月前
|
开发工具 开发者 iOS开发
如果苹果上架审核7个工作日仍无反应如何向苹果官方询问进度和提交反馈-App Store Connect方式和发送邮件询问方式-优雅草卓伊凡
如果苹果上架审核7个工作日仍无反应如何向苹果官方询问进度和提交反馈-App Store Connect方式和发送邮件询问方式-优雅草卓伊凡
1080 2
如果苹果上架审核7个工作日仍无反应如何向苹果官方询问进度和提交反馈-App Store Connect方式和发送邮件询问方式-优雅草卓伊凡
|
7月前
|
存储 数据安全/隐私保护 开发者
苹果app上架app store 之苹果开发者账户在mac电脑上如何使用钥匙串访问-发行-APP发布证书ios_distribution.cer-优雅草卓伊凡
苹果app上架app store 之苹果开发者账户在mac电脑上如何使用钥匙串访问-发行-APP发布证书ios_distribution.cer-优雅草卓伊凡
237 8
苹果app上架app store 之苹果开发者账户在mac电脑上如何使用钥匙串访问-发行-APP发布证书ios_distribution.cer-优雅草卓伊凡

热门文章

最新文章