项目代码行数统计

简介: 了解代码统计的几种方式

一、git命令统计


1、统计某人代码提交量


git log --author="mengfanxiao" --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 }' -


2、统计所有人代码提交量(指定统计提交文件类型)


git log --format='%aN' | sort -u | while read name; do echo -en "$name\t"; git log --author="$name" --pretty=tformat: --numstat | grep "\(.html\|.java\|.xml\|.properties\|.css\|.js\|.txt\)$" | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s, removed lines: %s, total lines: %s\n", add, subs, loc }' -; done


3、统计某时间范围内的代码提交量


git log --author=mengfanxiao --since=2019-01-01 --until=2021-02-01 --format='%aN' | sort -u | while read name; do echo -en "$name\t"; git log --author="$name" --pretty=tformat: --numstat | grep "\(.html\|.java\|.xml\|.properties\)$" | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s, removed lines: %s, total lines: %s\n", add, subs, loc }' -; done


结果:added lines: 106243, removed lines: 14088, total lines: 92155


4、查看git提交前5名


git log --pretty='%aN' | sort | uniq -c | sort -k1 -n -r | head -n 5

微信图片_20220218172043.jpg

5、贡献值统计


git log --pretty='%aN' | sort -u | wc -l


6、提交数统计


git log --oneline | wc -l



7、统计或修改的行数


git log --stat|perl -ne 'END { print $c } $c += $1 if /(\d+) insertions/'



二、idea statstic 统计


1、安装statstic插件

微信图片_20220218172047.jpg

2、安装插件

微信图片_20220218172218.png

3、已安装好的效果 然后重启下idea

微信图片_20220218172406.png

4、重启了之后 就会出现stastic 选中要查看的代码 点击 refresh on selection

微信图片_20220218172459.png

5、overview是全部文件  其他的tab页签 如css html java js properties txt xml 可以配置

微信图片_20220218172521.png

6、配置方式

1)点击settings

微信图片_20220218172554.png

2)配置文件类型

微信图片_20220218172623.png


三、gitstat (感觉最有意思的方式)


git clone git://github.com/hoxu/gitstats.git

cd gitstats

./gitstats 你的项目的位置 生成统计的文件夹位置


可能会提示没有安装gnuplot画图程序,那么需要安装再执行:


//mac osx

brew install gnuplot

//centos linux

yum install gnuplot


用mac brew安装的时候 速度可能很慢 处理方式


更换国内阿里云上的homebrew镜像:

 

# 替换brew.git:

cd "$(brew --repo)"

git remote set-url origin https://mirrors.aliyun.com/homebrew/brew.git

# 替换homebrew-core.git:

cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"

git remote set-url origin https://mirrors.aliyun.com/homebrew/homebrew-core.git

# 替换homebrew-bottles:

echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.aliyun.com/homebrew/homebrew-bottles' >> ~/.zshrc

source ~/.zshrc


切换好安装源之后 再使用brew命令就会分块



安装好之后 执行命令

微信图片_20220218172700.png

就会生成html文档

微信图片_20220218172742.png

访问页面 首先看到项目概括 总文件、代码总行数、总提交次数、多少个作者

微信图片_20220218172822.png

提交记录

微信图片_20220218172854.png

作者提交记录统计

微信图片_20220218172930.png

微信图片_20220218172958.png

微信图片_20220218173022.png

微信图片_20220218173026.png


四、使用 cloc


1、

brew install cloc

微信图片_20220218173112.png

2、统计当前文件夹代码量

微信图片_20220218173114.png

3、统计排除当前目录下的某个文件夹的代码量(这里以Pods文件夹为例)

微信截图_20220218173240.png

cloc ./ --exclude-dir=Pods


3、统计特定文件的代码量(这里以acpi为例)

微信截图_20220218173240.png

cloc -by-file acpi


4、帮助文档

微信图片_20220218173209.png





相关文章
|
6月前
|
测试技术
包含用例执行时间的测试报告代码
包含用例执行时间的测试报告代码
|
Web App开发 JavaScript 关系型数据库
|
程序员 测试技术 API
统计千行代码Bug率,有没有意义?
统计千行代码Bug率,有没有意义?
954 0
使用正则表达式统计VS2017项目的代码量(统计源码总行数)
使用正则表达式统计VS2017项目的代码量(统计源码总行数)
385 0
使用正则表达式统计VS2017项目的代码量(统计源码总行数)
|
测试技术 PHP BI
php代码覆盖率统计实践
一、需求描述 由于我司的业务大部分都是php项目,在实际的测试任务中,有测试工程师反馈存在测试结束后无法对测试覆盖率保有自信,担心存在漏测行为;本项目将作为漏测的辅助判断存在,帮助测试工程师进行是否存在漏测的辅助判断。
1353 0
|
JavaScript 前端开发