前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >运维自动化基础建设|CodeReview

运维自动化基础建设|CodeReview

作者头像
追马
发布2020-07-03 10:00:39
6510
发布2020-07-03 10:00:39
举报
文章被收录于专栏:一日一工具一日一工具

运维自动化基础建设|CodeReview

提到code review,相信大家对此并不陌生,各大厂也时不时的会有各种文档出来,这是一个很深的话题,也是一门玄学,接下来的文档里以我有限的认知来聊聊我所理解的code review

code review 流程

code review 流程图片来源[1]

code review前置工作

曾经流传一个段子,一个新手提交了10行代码,然后收到了500个的issue, 有一次提交了500行代码,收到了0个issue,虽然是一个段子,从中我们不难看出一些问题:

代码风格的问题

代码风格的统一在每个公司落地实践的方式各不相同,有的公司是通过IDE的各种插件来实现代码风格的统一(不过这种方式也不好统一,毕竟有的人买了idea, 有的人喜欢用vscode), 有的公司是通过pre-commitpost-commit方式来实现代码风格的统一。

如果你作为code review的人,看到提pr的人的代码不知表达什么意思的变量或函数命名,或者一屏幕看不到头的一行代码,你心里是否会mmp, 还有继续看下去的心情么。

Google Style Guides[2]

Commit Message 的问题

Commit Message信息的标准化也是一个重头戏,作为code review的人,看到一句修复bugcommit信息,肯定是有砸电脑的冲动,所以统一规范化的信息提交是一个团队要遵守的规范之一,要不然的话,那就呵呵了。可以参考下下面的文档,看看别人家的Commit Message规范是如何做的。

优雅的提交你的 Git Commit Message[3]

code review 放在哪一步进行

动作

我个人的感受是看团队规模大小吧,小规模团队的情况下,放pre-commit下做code style的风格统一的动作足够满足需求,大些的团队多半会把这些工作放到CI里去做,大家可以看下Github Action,自定义组合感受下,常规的语法检测,代码格式化操作等等工作。

共识

如果一个团队中没有达成共识,或者无法取得认可的场景下,强推code review的结果可能不是很理想,另外一个方式就是自上而下的强推,需要一个漫长的适应期。

具体落地

这个涉及到前面我们提到的分支模型的选择,在分支模型落地的基础上(不允许用于直接提交代码,只能提PR),用户提交PR, 至少需要两个人进行Approve(投票,bitbucket中称作点赞)才允许进行Merge的动作。

运维自动化基础建设|代码分支模型

相关工具

开源工具,不限于下面所列(可以深挖Gitlab, 结合Flask实现内部的Code Review平台)

基于python语言的rietveld[4]

reviewboard[5]

phabricator[6]

gitlab code review[7]

Gerrit[8]

收费工具

The 8 Best Tools For Code Review In 2020[9]

•AccessLint•Imgbot•LGTM•DeepSource•Codelingo•DeepScan•CodeScene•FeaturePeek

参考文档

Google Engineering Practices Documentation[10]

Code review checklist[11]

Code Review Review is the Manager's Job[12]

How to give great code review feedback[13]

How one code review rule turned my team into a dream team[14]

code-review-tools[15]

总结

code review是一门玄学,就像人跑步一样,刚开始的时候你会觉得,真特么累,这不是自己给自己找事么,过了适应期,你会发现,真香~

时间久了你会发现,市面上开源的这些工具不足以满足需求,二开是不可避免的趋势。

虽然大家都在口口声声的说着code review, 但是真正用起来的团队很少很少。说到这个不得不提TDD, 自己领会吧~

引用链接

[1] code review 流程图片来源: https://www.freecodecamp.org/news/how-code-reviews-work-at-microsoft-4ebdea0cd0c0/ [2] Google Style Guides: http://google.github.io/styleguide/ [3] 优雅的提交你的 Git Commit Message: https://juejin.im/post/5afc5242f265da0b7f44bee4 [4] 基于python语言的rietveld: https://github.com/rietveld-codereview/rietveld [5] reviewboard: https://demo.reviewboard.org/r/ [6] phabricator: https://www.phacility.com/phabricator/ [7] gitlab code review: https://docs.gitlab.com/ee/user/analytics/code_review_analytics.html [8] Gerrit: https://www.gerritcodereview.com/ [9] The 8 Best Tools For Code Review In 2020: https://featurepeek.com/blog/the-8-best-tools-for-code-review-in-2020/ [10] Google Engineering Practices Documentation: https://google.github.io/eng-practices/ [11] Code review checklist: https://dev.to/uday_rayala/code-review-checklist-20c6 [12] Code Review Review is the Manager's Job: https://hecate.co/blog/code-review-review-is-the-managers-job [13] How to give great code review feedback: https://www.michaelagreiler.com/great-code-review-feedback/ [14] How one code review rule turned my team into a dream team: https://medium.com/inside-league/how-one-code-review-rule-turned-my-team-into-a-dream-team-fdb172799d11 [15] code-review-tools: https://kinsta.com/blog/code-review-tools/

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-05-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 链上追马 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 运维自动化基础建设|CodeReview
    • code review 流程
      • code review前置工作
        • 代码风格的问题
        • Commit Message 的问题
      • code review 放在哪一步进行
        • 动作
        • 共识
        • 具体落地
      • 相关工具
        • 开源工具,不限于下面所列(可以深挖Gitlab, 结合Flask实现内部的Code Review平台)
        • 收费工具
      • 参考文档
        • 总结
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档