@
kpppp 只能说你公司的实施问题吧。
可以看看这两位的观点。
@
lecher https://www.v2ex.com/t/725245#r_9776838@
huifer https://www.v2ex.com/t/725245#r_9776373在编码前,对于一起讨论需求的理解,最终确定代码要完成哪些功能,在开发之前也要归纳出来,可以在 PR 或者 Issue 形成一个 Checklist,例如一个表单注册。
1 。 如果信息填写不完整,Validation 失败,提示错误
2 。 信息完整,提交后,检测 Email,手机号是否存在,如果存在,反馈错误信息
3 。 如果一切检测通过,保存用户信息,(发送 Welcome 邮件,初始一些用户配置等)
首先,对于现代软件开发,特别云环境,一开始就需要一个自动化的 Pipeline 配置,检测分支代码情况,一目了然。
https://github.com/hantsy/spring-reactive-jwt-sample/pull/591,Commentlint 等,
2,检测语法(比如老式的静态检测 Checkstyle, findbugs 等如果你喜欢可以配置下,甚至可以加入到 Git Hooks 里面。不过基于云的 SonarCloud 检测更详细,我不再用本地静态分析工具)
3,运行测试(单元测试,功能 /集成测试)<--------必不可少, 如果不写测试,CR 只能是自欺欺人。
4, 生成测试报告,包含代码质量报告( SonarCloud 的规则是 Social 更新的,可以支持最新的语法,规范等。公司如果大方,可以购买 Code Climate, 借助人工智能分析代码,可以修正弱智代码),可以看到 Bugs,Code Smell,技术债务等
那 CR 的时候,我们要清理所有在这个 PR 产生的技术债务,修正 Bad Code Smell 等,而且要检测功能集成测试是否包含了所有的路径,是否有漏掉什么步骤等。
CR 几乎不需要 [人工方式] 关心一些枝节细节,什么语法,命名等,这些工具检测(在 CI )都可以完成。更多的目的大家一些讨论和分享,真正做到 Pair programming 和 Brainstorming 。