review
目标
提升代码质量,增加交流与技能提升,带动整个团队技术氛围
时间比例
刚开始做可能花费时间多点,一两个迭代后这个应该进入正常占比不超过十分之一
分类
静态检查 具体人力参与较少,更多使用sonar工具来做,内置积累700多个代码规则,并且可以自己扩展,把知识转换为规则来扫描代码
动态检查 具体开发功能负责陈述方案设计(数据库设计 接口设计 oop设计 ) 技术选型 性能评估与扩展性考虑
静态分析工具
sonar介绍:作为一个静态代码统一的展示点,收集所有项目信息,查看各种占比与过滤搜索。
sonar的issue按照级别分类,依次为阻断 严重 主要 次要 提示;规则本身如果不符合项目特点可以关闭,可以增加扩展注释,可以重新划分规则的级别分类
规则可以调整级别
idea 安装本地插件sonarqube直接可以看到相关分析,收费版在扩展插件上存在各种问题,使用社区版完全够用并且扩展插件无问题
静态检查操作流程
自我审查部分,每个项目一个ower,权限上只能确认,减少管理员权限检查issue数量,对于存疑部分可以搁置。
代码在提测的时候需要需要管理员一般为senior,浏览相关issue,可以确认不合理的isuue为不修复
测试检查提测的项目issue解决,执行测试
动态检查流程
选择后置检查,完成后审核相关问题,有问题则纪录为技术债,严重问题则建立issue重新评估是否发布
sonar 安装流程
google 搜索sonar下载最新5.2版本解压
修改conf下soanr.properties文件配置为mysql,不用内置h2
登录账号为admin/admin,权限项中给具体项目owner创建账号,并配置邮件以便在变化时候发送邮件
maven配置文件加上<sonar.host.url>为安装的地址,项目下执行mvn sonar:sonar 会自动上传
idea下载sonarqube插件,收费版本的ide会有问题,建议社区版本,顺手安装下checkstyle插件
写cron脚本拉去所有项目定时执行mvn sonar:sonar命令,并到sonar上分配具体的项目给owner
到update center中心搜索java几个插件,最后规则会700左右,有具体需求可以用pmd扩展实现
sonar具体过滤规则也可以修改级别,不过要先禁用在激活修改严重级别
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。