提高代码审查技能的六个技巧
在我看来,代码审查是改进代码库和协调团队编码技能的最有效工具之一。但是,与任何工具一样,它也可能会被误用:它可能会对他人造成伤害,可能导致冲突,并减慢新功能的交付速度。作为 GitLab 的前端维护人员和 Vue.js 文档的维护人员,我每天都在审查拉取/合并请求(在学习如何有效地审查代码时,我犯了很多错误!)。在本文中,我将尝试分享一些技巧,这些技巧帮助我在不牺牲代码质量的情况下改进了代码审查。
在本地测试更改
认真地去做吧!每当你有一个拉取请求需要审核时,试着查看分支并查看更改。这不仅有助于冒烟测试,还能让你更深入地进行审核。有时代码更改看起来完全合理,直到你阅读问题、测试实现并意识到它们在底层是好的——但架构可以而且应该改进。
提出问题,不要发表声明
每当你看到一些对你来说明显不好的事情,并准备写下类似This is a bad practice and we should not use it
“停一下”之类的内容时,请稍等片刻。你的同事很可能很清楚自己做得不够完美,而且他们可能有充分的理由。在得出结论之前,试着问一些问题来了解情况。
不要犹豫赞美
这一点对我来说极其难学。出于某种原因,我以为做代码审查就等于发现所有可能的错误。因为当一个人把工作(在这里指的是写代码)做好的时候,他们就应该默认这么做,对吧?
不,不对。
表扬是代码审查的重要组成部分。我们既应该劝阻代码中的不良做法,也应该鼓励良好的做法。如果您发现某些代码写得不错,请公开地指出。这里的关键在于诚实和具体:如果您没有发现任何值得评价的地方,就不要表扬,也不要只是说“干得好!”。“我喜欢您构建单元测试的方式!它很容易理解”效果更好。
标记您的评论
这一点是我从我的同事Paul Slaughter那里学到的。这个想法是在评论前加上一个特定的标签,清楚地说明评论的观点:
问题:我注意到我们querySelector
在这里使用了。为什么我们需要访问真实的 DOM?
建议:我们可以在这里使用三元运算符来简化这个计算。
挑剔:检查原语时,我们可以使用toBe
而不是toEqual
。
这有助于代码作者更好地理解审阅者的意图,避免误解。您可以在“常规注释”网站上阅读更多关于此约定的内容。
将阻塞和非阻塞分开
关于注释标记的另一点是,明确说明你的关注点是否是阻塞的。在合并拉取请求之前,我们是否一定要进行此更改master
?或者,这只是一些可以在后续问题中处理的小问题,或者完全忽略,这取决于个人喜好?我更喜欢将阻塞注释标记为问题,将非阻塞注释标记为挑剔的,但如何表达你的观点完全取决于你。将阻塞注释与非阻塞注释分开有助于保持代码整洁,同时又不会在无休止的来回审查中牺牲团队的绩效。
采取额外措施
提高合并时间指标的另一个方法是,作为审阅者,要付出额外的努力,避免重复审阅。撰写解释性注释——这将有助于作者理解代码修改的必要性,并避免额外的问题。如果代码需要很长的解释,并且需要多次修改,可以创建一个代码补丁,并将其添加到你的注释中,并简要描述该补丁的功能。这将显著加快合并过程。
你有什么最喜欢的代码审查建议吗?请在评论区分享,让我们互相学习!
鏂囩珷鏉ユ簮锛�https://dev.to/n_tepluhina/six-tips-to-improve-your-code-review-skills-95a