Pinterest初级开发人员如何进行代码审查

Pinterest是世界上最大的图片社交分享网站。网站允许用户创建和管理主题图片集合,例如事件、兴趣和爱好。以下为来自Pinterest工程师关于代码审查的一些思考。

作者:Emma Catlin

前言

“Just ask questions.”

那条建议彻底改变了我对代码审查的看法。

我刚从大学毕业就开始在 Pinterest 的购物合作伙伴体验团队担任软件工程师。 我专注于个人学习,通过阅读文档和技术设计文档来了解团队的系统和项目,但我缺乏查看队友代码的信心。 为什么高级工程师要让初级工程师审查他们的代码? 如果我说了什么完全错误的话怎么办?

一开始我对学习的关注度很高,但在第一年的某个时候,我意识到了一些至关重要的事情:我需要帮助整个团队,而不仅仅是我自己,才能成长到下一个工程水平。 首先,我的一位队友建议我审查代码。

这个建议很简单——使用代码审查来了解更多关于一段代码并扩展我对我们整个系统的了解。 事实证明,代码审查是我继续学习之旅的完美方式。

从那以后,我了解到作为初级开发人员审查代码有很多好处:

  • 学习代码库
  • 建立反馈圈
  • 作为所有者

学习代码库

除了阅读更多代码和阅读其他优秀工程师的代码之外,如果您对代码的特定部分有任何疑问,审查代码还可以提示您向谁提问。 通过代码审查,您可以密切关注谁非常了解系统的这一部分,并且可能是您今后的好资源。 有一次,我正在调查我们系统的一部分中的一个对我来说是新的错误。 我被卡住了,不知道如何继续调查它,但是因为我观察了我的团队中谁在处理这部分代码(以及谁在解决这个领域的错误),我知道谁有知识可以提供帮助 指导我的调查。 我联系了那位工程师,并在他们的帮助下找到了该错误的根本原因。

建立反馈圈

代码审查建立了与队友一起给予和接受反馈的信心。 一旦你通过代码审查向你的队友提供反馈,当他们推回你的一段代码时,你就会更愿意接收反馈并听取他们的想法。

作为所有者

Pinterest 的核心价值观之一是成为所有者,而审查代码有助于获得对团队代码库的所有权。 参与代码审查加快了团队的代码审查过程,分散了代码审查的权重,并增加了你的新视角来改进代码库

你在想,“好吧,我明白了。 代码审查听起来很棒,但我该怎么做呢?”

以下是我作为初级开发人员培养代码审查能力的三种方式:

  • 问问题
  • 校准反馈
  • 模仿他人

多提问

在代码审查中提出问题是我作为初级开发人员收到的一些最佳建议。 一旦我挖掘了我不知道的东西并就同事的拉取请求提出问题,我就对我们的系统了解了很多。 现在,我几乎可以在任何地方查看代码。 在代码审查期间提出问题不仅对于初级工程师,而且对于进入代码库的新团队成员来说都是一个很好的策略。 例如,您可以询问系统的特定部分做了什么,为什么他们在该文件中添加了该部分逻辑而不是更进一步的下游,或者他们对特定注释的含义。 如果您不清楚某些事情,那么可能不是每个人都清楚。 因此,提出问题可以帮助您的团队成员了解代码库新手可能存在哪些知识空白。 这样,您的团队成员可以编写清晰的变量名称、修改他们的函数结构或添加一些代码注释,以帮助几乎没有上下文的人立即跳转到代码中。

Pinterest初级开发人员如何进行代码审查

校准反馈

在我的团队中,我们关心您为测试代码采取了哪些步骤,尤其是端到端测试。 我经常发现自己在问别人如何在代码审查中测试他们的代码。 它不仅确保他们在代码落地之前尝试过他们的代码,而且还教会了我彻底测试我的更改的新方法

向您的团队提供反馈可以建立积极的关系。 如果您的团队不关心拼写错误或代码注释,请不要告诉他们修复拼写错误或添加代码注释——除非拼写错误是面向用户的,因此很关键! 这将使他们不太可能接受您的建议(关于他们的代码、技术设计文档或您工作关系的其他方面)。 人们乐于接受他们关心的反馈,因此要努力为个人提供建议。 一旦您赢得了团队的信任和尊重,请务必就对您而言重要的事情提供反馈。

模仿他人

另一种更轻松地审查代码的方法是确定团队中能够很好地审查代码并观察他们所做的事情的人。 我查看团队中的高级工程师并观察他们是否总是寻找单元测试、代码注释、命名约定等。如果他们要求进行重大更改,他们是如何要求的? 如果您看到“与 @so-and-so 离线同步”,然后进行了大型重构,这表明对于更重要的批评,您的队友可能更愿意发送消息或一对一地谈论它。 除了代码审查之外,许多反馈框架都建议在每个人面前给予表扬,并在一对一的环境中给予建设性的反馈,所以这可能是你的团队更喜欢的。

通过观察你的同事如何审查代码,你可以了解在编写代码时要注意什么。 如果您看到有人反复要求更多的单元测试,您可以在提交代码以供审查之前,在您的代码中首次使用测试覆盖率做得更好。 或者,如果您担心自己错过了最好的代码测试方法,请先向他们征求建议,从而将其吸引到您的反馈圈中。 依靠队友的优势。

我希望这些建议对您作为工程师的开发之旅有所帮助,并让您有信心审查代码。 一旦我能够轻松地审查代码,我就能够在我们的存储库中阅读和编写代码。 最终,它帮助我摆脱了初级工程师的角色,并为跨越多个团队的项目做出了贡献。 如果您不熟悉代码审查,请尝试在明天询问有关某人代码的问题。 即使只是在“离线”消息中而不是在他们的代码审查中,它也可以开始对话并帮助您更好地了解您的队友和您的代码库!

0 0 投票数
文章评分

本文为从大数据到人工智能博主「xiaozhch5」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://lrting.top/useful-tools/3832/

(0)
上一篇 2022-02-15 02:04
下一篇 2022-02-15 23:46

相关推荐

订阅评论
提醒
guest

0 评论
内联反馈
查看所有评论
0
希望看到您的想法,请您发表评论x