目录
高质量
高逼格
对自己好一点
参考
高质量
首先我们来定义一下什么是高质量,不同于美的定义(一千个读者可能有一千个哈姆雷特),对于高质量,我们可以达成一个共识。
过
有效的单元测试
相信对于单元测试的作用,大家都不会陌生,对于能提高效率的事情,何乐而不为呢?
对于Java项目来说,junit是公认的测试框架,熟练使用就可以了,另外,你一定会用到mockito这个工具,具体见文末的参考链接
有可观的测试覆盖率
光光有单元测试是不够的,只有达到一定阈值的覆盖率才是合格的,不必追求百分百的覆盖率,按照2/8原则,80%是一个可以追求的阈值
这里推荐下jacoco这个测试覆盖率工具,和Intellij IDEA也有很好的集成
集成sonar
通过sonar扫描代码库,来帮助我们找出容易忽略的问题,对于你认为sonar检出的不是一个问题,可以在sonar-project.properties忽略掉
CI/CD
开发完成之后,还需要手动跑测试用例,手动发布到开发环境?
正确的姿势见下图
高逼格
然后我们来定义一下什么是高逼格
一定要有图
正所谓一图胜千言,相对于文字,图片能传递更多的信息,也更容易让看官理解。对于我们的项目来说,需要什么样的图呢?
流程图
比如
类图
比如
上下游依赖图
比如
画图的工具,每个人都有各自的喜好,在这里,推荐使用plantuml,原因是它可以使用文本的形式来描述,好处是通过源码版本工具比如git等,可以追溯每次的变更,进而了解设计的变化
徽章
在"面基网站"Github上我们经常能看到一些很酷的徽章,比如
在Gitlab里能不能也做到呢?答案是可以的 比如我们要显示测试覆盖率,代码质量等,就可以这样做
打开Gitlab
,导航到Settings -> General -> Badges
,如下所示:
其中Link
里可以写入项目在sonarqube
里的链接,比如https://${sonarqubehost}/dashboard?id=devops-reflux-connector
,Badge image URL
代表徽章的图标地址,这个地址可以在sonarqube
里找到,如下所示
在Metrics里可以切换不同的指标,比如Bugs
, Code Smells
, Coverage
, Vulnerabilities
等,一顿操作后,你就可以在gitlab项目里看到项目的健康指标啦。
对自己好一点
最后我们要做到对开发者友好,记住这个开发者可能也是你哦。
首先我们得有README,读read me
,一个看官打开你的项目,首先看到的就是项目的README,在这个文件里,你可以用markdown语言来描述。
在README里,可以包含以下内容
标题,简要描述这个项目是干嘛的
副标题,可以加点详细的描述
如果README里的内容很多的话,加个目录
描述你的设计方案,记得多用图的形式
描述你的项目包含哪些功能
最后给那些跃跃一试的同学一次快速上手的机会,比如提供一个可以直接运行的docker包,或者提供docker-compose.yml文件
描述下如何对这个项目做贡献(PR)
具体范例可以参考influxdb等
参考
mockito
jacoco
plantuml
influxdb