我目前是一名高级开发人员,下面有3个初级人员,并介绍了一个代码审查过程来帮助管理进入生产阶段的代码的质量。
我觉得这对我们所有人互相审查工作非常有益,但是在大约5周的过程中,我是唯一在工具(BitBucket)中发表评论的人。
我认为工作中存在部分文化问题,如果他们的评论有误,也许会自然而然地不情愿,但是有什么办法,我可以帮助下辈们更加自在地批判我和彼此的工作吗?
我目前是一名高级开发人员,下面有3个初级人员,并介绍了一个代码审查过程来帮助管理进入生产阶段的代码的质量。
我觉得这对我们所有人互相审查工作非常有益,但是在大约5周的过程中,我是唯一在工具(BitBucket)中发表评论的人。
我认为工作中存在部分文化问题,如果他们的评论有误,也许会自然而然地不情愿,但是有什么办法,我可以帮助下辈们更加自在地批判我和彼此的工作吗?
Answers:
对我来说,这里的问题是“您在寻找什么初级开发人员来摆脱代码审查?”。对我而言,潜在的最重要的事情是让初级开发人员通过查看什么是好的代码来学习。如果他们碰巧也在您的代码中发现问题,那是一个好处。
如果您正在寻找初级员工从代码审查中学习,那么最重要的事情就是创建一个重视学习的环境,而不是浪费时间。这意味着很多事情:
每周在规定的时间亲自举行代码审查会议。我像这样把它卖给了我的队友(我们实际上都是两位资深开发者,但无论如何):
“代码审查的部分目的是让我更好地了解您的代码,并了解事情的进展,以防万一您一天被卡车撞到,我被命令完成您的冲刺。但主要是在那里您可以向其他人解释您的代码,因为这样做时,它会占用您大脑的不同部分,并且经常向您解释对他们的解释和/或他们的问题或评论,可能会使您记住一些您忘记的东西编写代码,或者可能使您意识到一种更好的方法来使其更具可读性或更好地进行架构。这将导致代码更漂亮。”
我喜欢将其视为表演秀。人们可以向同龄人炫耀他们的工作。这并不是关于您的同事发现您的工作中出现了错误,而没人会喜欢这种感觉。这是关于用您每个人都喜欢的很棒的代码打动您的同伴的。
但是,我认为在没有人与人之间的互动,没有会议室的会议,没有白板的情况下使用代码审查工具,这只是另一个令人讨厌的“事情”。并不是说不应该有这样的工具,但是如果在代码审查会议上意识到有必要对特定代码部分进行更深入的审查,那么应该使用这些工具。然后,您可以分配一个初级开发人员来查看特定区域中另一个人的代码。
您可以通过树立榜样来提供帮助。当有人指出您的错误时,您将无法防御。对您自己的代码进行代码审查,并指出需要改进的地方。与团队分享。最终,他们将了解到这是值得鼓励的,而且没人会因为代码中的错误而受到殴打。
有工作意味着对工作负有责任感和自豪感。如果代码审查是其中的一部分,则评估中应包括参与代码审查。我参加了在线课程,其中参加在线讨论是该年级的一部分。需要详细说明。“我同意”是不可接受的。
代码审查应改进代码。如果您编写供内部使用的代码,则可以根据销售情况,用户投诉或其他一些等级来衡量,具体取决于您的情况。现实情况是您的代码可以达到一定的目的,而您的团队应该通过他们为达到该目的的能力来衡量。您确定的那些人将为成功做出贡献,并按比例分享回报。
专注于发布质量代码。我们的目标不是让每个人都避开错误让自己感觉良好。我写不好的代码;我必须修复错误的代码。那就是工作和生活。我讨厌修复错误,所以我尽量避免它们。我为自己的工作感到自豪,因此当我的代码不起作用时,这会困扰我。对于用户或任何需要花时间指出这些问题的人,我感到很不舒服,这促使我想对其进行修复。
附带说明一下,如果您所处的环境中没有人可以给出或接受建设性批评,那么您就会遇到问题。
过程:有人想要提交更改。有人被指定为审阅者并审阅更改。然后,已检查并固定的更改将进行测试。
如果测试发现更改中引入了错误,那么作者和审阅者也应受到谴责。
因此,除非代码完美,否则进行任何评论都将给您带来麻烦。