项目代码行数统计

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

一、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





相关文章
|
XML 数据格式
VisualStudioVS2010统计代码行数
 按CTRL+F (Find in files),选择在文件中查找勾上支持正则表达式,然后输入搜索内容: ^:b*[^:b#/]+.*$ #开头和/开头或者空行都不计入代码量。如果需要只统计代码文件的代码量,可以选择查找文件的类型,比如什么*.xml, *.resx….可以不检查,只查*.cs,*.c,*.h… 搜索出来以后最后一行就是代码行数了。
916 0
|
Web App开发 JavaScript 关系型数据库
VS2012 利用正则统计项目代码行数
原文: VS2012 利用正则统计项目代码行数 #开头和/开头或者空行都不计入代码量,  搜索出来以后最后一行就是代码行数了:    
1025 0
|
BI 前端开发 C++
项目开发容易出错情况统计
2016年11月17日 11:30:45 星期四 1.适配:   a) APP弹窗大屏幕适配(例如, 是否居中) 2.按钮状态:   a) 按钮点击后没有disable 如果新页面加载卡顿导致用户多次点击,生成多次请求   b) 按钮disable后什么时候enable(例如,输入错误,接口返回error,按钮要重新enable)   c) 按钮置灰与disable 3.
774 0
|
测试技术 PHP BI
php代码覆盖率统计实践
一、需求描述 由于我司的业务大部分都是php项目,在实际的测试任务中,有测试工程师反馈存在测试结束后无法对测试覆盖率保有自信,担心存在漏测行为;本项目将作为漏测的辅助判断存在,帮助测试工程师进行是否存在漏测的辅助判断。
1375 0
|
程序员 测试技术 API
统计千行代码Bug率,有没有意义?
统计千行代码Bug率,有没有意义?
1031 0

热门文章

最新文章