CODING DevOps 代码质量实战系列第三课:Java 项目代码规范实战

Java 老项目常见质量问题

- 将 Jar 包提交到了代码库

Jar 包等二进制文件无法进行文本对比,体积庞大,如果放在代码库中,导致拉取代码变慢,而且无法跟进包版本升级。所以应使用包管理工具进行网络安装。

2

3

但有的第三方包未发布到 Maven 仓库,或者公司的私有包,需要上传到私有仓库。无需搭建,使用 CODING 制品库即可。

4

5

- 书写规范问题

比如魔法数字(magic number)、缩进等问题,可通过引入业界知名的代码规范,使用 Lint(代码静态扫码工具)进行检查。Java 常用的 Lint 工具是 Checkstyle,下载 Google Java Style 的 xml 文件,即可进行检查,包括很多规则,比如:

  • 每行代码最大长度 100 个字符
  • 缩进使用 2 个空格

6.png

7

8

老项目有成千上万的报错,一次难以清理干净,建议使用增量检查,具体请访问 CODING 帮助文档,搜索「增量检查」。

- 使用落后的技术

比如落后的 Java 版本、maven,建议升级至 Gradle。

9

Java 自动化测试

自动化测试要点

可测性:不要在代码中使用系统时间、随机数、实例化对象,而应使用可被 mock 的时间库、依赖注入。
Fake:用于伪造测试数据,而不要在测试代码中写死 123、12:00:00,因为可能 999、00:00:00 时会报错。
Mock:模拟对象,常用于拦截第三方服务,比如拦截微信登录、支付,直接返回成功或失败,然后测试后续业务逻辑,而不可能每次测试时真的付款。

10

Java 自动化测试时,可使用 JaCoCo 生成测试覆盖率的 HTML 报告,可以看到哪一行代码没有覆盖。这种报告包含代码,所以需要私有访问,可使用 CODING 通用报告功能,在持续集成中自动上传即可。

6L4V61.jpg

12

Java 代码自动生成 API 文档

在项目开发中,最好让代码先行,在代码里写注释,这样可以保证注释与代码一起维护,然后在持续集成中执行命令自动生成文档,可上传到 CODING API 文档中,支持团队成员直接访问、加密分享。

6L4ElR.jpg

6L4mm6.jpg

6L4n0K.jpg

点击观看课程回放

注册即用,体验酣畅的开发流程

立即使用