review

目标

提升代码质量,增加交流与技能提升,带动整个团队技术氛围

时间比例

刚开始做可能花费时间多点,一两个迭代后这个应该进入正常占比不超过十分之一

分类

  1. 静态检查 具体人力参与较少,更多使用sonar工具来做,内置积累700多个代码规则,并且可以自己扩展,把知识转换为规则来扫描代码

  2. 动态检查 具体开发功能负责陈述方案设计(数据库设计 接口设计 oop设计 ) 技术选型 性能评估与扩展性考虑

静态分析工具

  • sonar介绍:作为一个静态代码统一的展示点,收集所有项目信息,查看各种占比与过滤搜索。

clipboard.png

  • sonar的issue按照级别分类,依次为阻断 严重 主要 次要 提示;规则本身如果不符合项目特点可以关闭,可以增加扩展注释,可以重新划分规则的级别分类
    规则可以调整级别

clipboard.png

  • idea 安装本地插件sonarqube直接可以看到相关分析,收费版在扩展插件上存在各种问题,使用社区版完全够用并且扩展插件无问题

clipboard.png

静态检查操作流程

  1. 自我审查部分,每个项目一个ower,权限上只能确认,减少管理员权限检查issue数量,对于存疑部分可以搁置。

  2. 代码在提测的时候需要需要管理员一般为senior,浏览相关issue,可以确认不合理的isuue为不修复

  3. 测试检查提测的项目issue解决,执行测试

动态检查流程

选择后置检查,完成后审核相关问题,有问题则纪录为技术债,严重问题则建立issue重新评估是否发布

sonar 安装流程

  1. google 搜索sonar下载最新5.2版本解压

  2. 修改conf下soanr.properties文件配置为mysql,不用内置h2

  3. 登录账号为admin/admin,权限项中给具体项目owner创建账号,并配置邮件以便在变化时候发送邮件

  4. maven配置文件加上<sonar.host.url>为安装的地址,项目下执行mvn sonar:sonar 会自动上传

  5. idea下载sonarqube插件,收费版本的ide会有问题,建议社区版本,顺手安装下checkstyle插件

  6. 写cron脚本拉去所有项目定时执行mvn sonar:sonar命令,并到sonar上分配具体的项目给owner

  7. 到update center中心搜索java几个插件,最后规则会700左右,有具体需求可以用pmd扩展实现

  8. sonar具体过滤规则也可以修改级别,不过要先禁用在激活修改严重级别


nojava
36 声望1 粉丝

java/scala/groovy


引用和评论

0 条评论