code coverage java 如何检测代码覆盖率_如何创建一个高质量高逼格的Gitlab工程项目...

目录

  1. 高质量

  2. 高逼格

  3. 对自己好一点

  4. 参考

高质量

首先我们来定义一下什么是高质量,不同于美的定义(一千个读者可能有一千个哈姆雷特),对于高质量,我们可以达成一个共识。

  1. 有效的单元测试

  • 相信对于单元测试的作用,大家都不会陌生,对于能提高效率的事情,何乐而不为呢?

  • 对于Java项目来说,junit是公认的测试框架,熟练使用就可以了,另外,你一定会用到mockito这个工具,具体见文末的参考链接

有可观的测试覆盖率

  • 光光有单元测试是不够的,只有达到一定阈值的覆盖率才是合格的,不必追求百分百的覆盖率,按照2/8原则,80%是一个可以追求的阈值

  • 这里推荐下jacoco这个测试覆盖率工具,和Intellij IDEA也有很好的集成

集成sonar

  • 通过sonar扫描代码库,来帮助我们找出容易忽略的问题,对于你认为sonar检出的不是一个问题,可以在sonar-project.properties忽略掉

CI/CD

  • 开发完成之后,还需要手动跑测试用例,手动发布到开发环境?

ed12386610d5264cc2390953ff9ed6f2.png

  • 正确的姿势见下图

33c2ed6b2c67090da1874fa170916da7.png

高逼格

然后我们来定义一下什么是高逼格

一定要有图

正所谓一图胜千言,相对于文字,图片能传递更多的信息,也更容易让看官理解。对于我们的项目来说,需要什么样的图呢?

流程图

比如

c8a1b5cb58001aee58327054328f2d64.png

类图

比如

ff6f2c4a3b8a31e1ae7e7af75dd08534.png

上下游依赖图

比如

e007caab8f77947935ef39be057f52ac.png

画图的工具,每个人都有各自的喜好,在这里,推荐使用plantuml,原因是它可以使用文本的形式来描述,好处是通过源码版本工具比如git等,可以追溯每次的变更,进而了解设计的变化

徽章

在"面基网站"Github上我们经常能看到一些很酷的徽章,比如50dad1b7026b226ac85ca0e1f964af85.png

在Gitlab里能不能也做到呢?答案是可以的 比如我们要显示测试覆盖率,代码质量等,就可以这样做0ca1c2f5f9de9462f16653e3316fa9f1.png

打开Gitlab,导航到Settings -> General -> Badges,如下所示:

31dd36cfd9e9eaa8943525b5f04a5513.png

其中Link里可以写入项目在sonarqube里的链接,比如https://${sonarqubehost}/dashboard?id=devops-reflux-connectorBadge image URL代表徽章的图标地址,这个地址可以在sonarqube里找到,如下所示

a5118c86844bb96a611ec2ec2d50aad9.png

在Metrics里可以切换不同的指标,比如BugsCode SmellsCoverageVulnerabilities等,一顿操作后,你就可以在gitlab项目里看到项目的健康指标啦。

74094cb3f1ae4f33421899d941d66aec.png

314cf42159b9a16393608a90ac72cf0d.png

对自己好一点

最后我们要做到对开发者友好,记住这个开发者可能也是你哦。

首先我们得有README,读read me,一个看官打开你的项目,首先看到的就是项目的README,在这个文件里,你可以用markdown语言来描述。

在README里,可以包含以下内容

  1. 标题,简要描述这个项目是干嘛的

  2. 副标题,可以加点详细的描述

  3. 如果README里的内容很多的话,加个目录

  4. 描述你的设计方案,记得多用图的形式

  5. 描述你的项目包含哪些功能

  6. 最后给那些跃跃一试的同学一次快速上手的机会,比如提供一个可以直接运行的docker包,或者提供docker-compose.yml文件

  7. 描述下如何对这个项目做贡献(PR)

具体范例可以参考influxdb

参考

  • mockito

  • jacoco

  • plantuml

  • influxdb

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值