美文网首页
查询代码行数并生成分析文件

查询代码行数并生成分析文件

作者: js_846865 | 来源:发表于2019-04-02 10:52 被阅读0次
题记:本文旨在帮助有需要这方面统计功能的人,可以提供一种统计的思路及方法。

一、统计非git项目代码【仅限于iOS】

1、如果要统计ios开发代码,包括头文件、列出每个文件的行数,终端命令进入项目目录下
输入:find . -name "*.m" -or -name "*.h" -or -name "*.xib" -or -name "*.c" |xargs wc -l 

2、去除空行列出代码行数总和
输入:find . -name "*.m" -or -name "*.h" -or -name "*.xib" -or -name "*.c" |xargs grep -v "^$"|wc -l 

3、工程是swift 和OC 混编的情况下,你需要添加 -name "*.swift" 来统计swift 里面的行数
输入:find . -name "*.m" -or -name "*.h" -or -name "*.xib" -or -name "*.c" -or  -name "*.swift" |xargs wc -l 

注意:grep -v "^$"是去掉空行,注释也统计在代码量之内

二、查看git项目总代码行数

1、进入当前git项目目录
输入:cd /xxx/xxx

2、查看项目中指定某个人的代码行数
输入:git log --author="username" --pretty=tformat: --numstat | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s, removed lines: %s, total lines: %s\n", add, subs, loc }' -

3、查看项目中指定时间段内,某个人的代码行数
输入:git log --since ==2019-03-25 --until=2019-03-31 --author="username" --pretty=tformat: --numstat | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s, removed lines: %s, total lines: %s\n", add, subs, loc }' -

4、统计项目中每个开发者的增、删、总行数
输入:git log --format='%aN' | sort -u | while read name; do echo -en "$name\t"; git log --author="$name" --pretty=tformat: --numstat | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s, removed lines: %s, total lines: %s\n", add, subs, loc }' -; done

5、查看仓库提交者排名前 5
输入:git log --pretty='%aN' | sort | uniq -c | sort -k1 -n -r | head -n 5

6、贡献者统计
输入:git log --pretty='%aN' | sort -u | wc -l

7、提交数统计
输入:git log --oneline | wc -l 

三、采用git代码统计工具:git_stats

git_stats:仓库代码统计工具之一,可以按git提交人、提交次数、修改文件数、代码行数、注释量在时间维度上进行统计,亦可按各文件类型进行简单的统计,非常方便
下面直接进入正题:
1、安装git_stats之前首先要保证电脑上安装了ruby,可以打开终端输入:ruby -v来查询当前电脑上ruby的版本信息,如果没有安装过ruby请自行百度,在此就不做详细介绍了

2、执行安装git_stats命令
输入:gem install git_stats
如果在此一步等待了半天都没有什么反应的话,可能是因为镜像问题,推荐更换一个镜像地址。

3、查询当前镜像地址
输入:gem sources -l
如下图:
image
4、经查询,https://gems.ruby-china.org/镜像已经不维护了,需要替换为:https://gems.ruby-china.com/【详细见官网:https://gems.ruby-china.org】
输入:gem sources --add https://gems.ruby-china.com/ --remove https://gems.ruby-china.org/
如下图:
image
5、再次查看镜像
输入:gem sources -l
如下图:
image

6、重新安装git_stats工具
输入:gem install git_stats
如下图即代表成功安装
image
image
7、查看当前安装的git_stats
如下图
image
8、切换到当前git工程目录下,注意是工程目录的上一级
输入:cd xxx/xxx/xxx

9、开始统计
输入:git_stats generate -o stats --language zh_tw
image
经过一系列的执行后,最终会生成许多文件,双击打开index.html即可
如下图:
image
image
注意:
注意:以上统计方法均有缺陷:统计时会将导入的第三方代码也统计进去,所以想精确的统计出每个人的代码行数,需要记录下统计期内每个人导入的第三方代码,并单独计算出第三方代码的行数,然后自己代码行数=个人统计总行数-第三方代码行数
即:
1、统计包含第三方包的总行数
2、统计仅含第三方包的总行数
3、自己的代码=包含第三方包的总行数-仅包含第三方包的总行数

其中第2步我的做法是:
1、新建一个空工程,将所有文件全部删除
2、将第三方包导入这个空工程中
3、采用命令行统计这个空工程的代码总行数

相关文章

  • 查询代码行数并生成分析文件

    题记:本文旨在帮助有需要这方面统计功能的人,可以提供一种统计的思路及方法。 一、统计非git项目代码【仅限于iOS...

  • iOS-APP瘦身

    分析当前ipa的组成 源代码 通过生成linkmap文件,分析源代码生成的编译文件的大小。在Build Setti...

  • try语法糖

    背景 临时接到一个查询数据库数据并生成txt文件,并打包zip上传到ftp的功能。代码自然不算特别复杂,但是发现我...

  • 查询代码行数

    1、打开终端2、cd 进入项目根目录3、输入命令 4、回车出结果。

  • TraceView

    使用代码生成.trace文件,分析代码执行时间通过Debug class 检测代码生成logs保存到.trace文...

  • 【Access模仿】01 制作客户统计报表

    目的 学习该模板的查询设计,用于自制管理系统人员信息详情查询——查询员工编号,并根据查询生成表,用于窗体文件显示。...

  • 第九章 SQL查询数据库(一)

    第九章 SQL查询数据库 查询类型 查询是执行数据检索并生成结果集的语句。查询可以包含以下任意项: 一个简单的SE...

  • 统计iOS功能代码行数

    切换到工程目录 目录下每个文件对应代码行数 整个目录下文件代码行数

  • CoreGraphics之浏览和生成PDF文件详解

    文章结构 加载并浏览PDF文件 图片生成PDF文件 demo代码解释 总结 加载并浏览PDF文件 思路:加载pdf...

  • iOS面试题汇总---底层类

    源代码是怎么变成可执行文件的,每一步的作用是什么?(预编译,词法分析,语法分析,语义分析,中间语言生成目标代码生成...

网友评论

      本文标题:查询代码行数并生成分析文件

      本文链接:https://www.haomeiwen.com/subject/msewbqtx.html