在我公司中,大多数架构师都会进行代码审查。他是一个非常有经验和聪明的软件专家,因此他非常擅长。当开发人员进行代码审查时,他们不会做一半。我们试图让开发人员进行更多的代码审查,但是代码审查的质量并不理想。我们使用Scrum作为开发方法。
但是,对于当前系统,存在两个问题:
建筑师成为瓶颈
开发人员不对代码和体系结构的质量负责(这会导致各种问题)。
我们如何解决这些问题?我们应该更改代码审查的对象吗?
在我公司中,大多数架构师都会进行代码审查。他是一个非常有经验和聪明的软件专家,因此他非常擅长。当开发人员进行代码审查时,他们不会做一半。我们试图让开发人员进行更多的代码审查,但是代码审查的质量并不理想。我们使用Scrum作为开发方法。
但是,对于当前系统,存在两个问题:
建筑师成为瓶颈
开发人员不对代码和体系结构的质量负责(这会导致各种问题)。
我们如何解决这些问题?我们应该更改代码审查的对象吗?
Answers:
开发人员应进行代码审查。他们应该进行代码审查,因为他们应该知道代码,公司风格标准和实践。通过让其他人进行代码审查,您就是在告诉开发人员,确保代码符合公司标准不是他们的责任。
如果您认为他们需要进行代码审查方面的培训,请为他们准备。根据当前的情况,您可以让开发人员进行代码审查,然后由架构师进行评论-让开发人员将审查提交架构师以供批准,然后再将其发送给提交者。
在这种情况下,您需要的是这位经验丰富的开发人员的知识,以帮助团队的其他成员成长。团队的素质并不取决于最佳开发人员的技能;它是由最差的技能定义的。您可以尝试以下操作:
协作评论。在我上一个团队中,这确实很棒。我们将整个团队放到有投影仪的房间里,并开始审查一些物品。也许一开始,架构师是指导评审的人,但是在几周内(我们每个星期五预留了一两个小时),整个团队开始交谈并理解目前只有架构师才知道的关键概念。
配对编程。对我来说,这是在团队中传播知识的最佳工具。
虽然我可以看到让系统/软件架构师签署所有更改/提交的要点,但软件开发人员应该能够在不涉及架构师的情况下进行审阅(仲裁除外)。
我首选的[*]审核程序是:
因此,我对您的问题的简短回答是: 开发人员应进行更改审核。
[*]不幸的是,这并不总是我参与的项目的运作方式。
我同意,如果只有一个人进行评论,那么其他人可能只会选择“我不知道,这似乎行得通,但是让那个聪明的人弄清楚是否可以”。我可以想到以下几点:
i