这就是我的故事:我的一位同事用来查看托管到修订系统的所有代码。我并不是说要对他所属零件的变化进行适当的审查。他逐行观看代码文件。每个新文件和每个修改的文件。我感觉就像被监视!
我的猜测是,如果代码已经托管在控制系统中,则至少应该相信它是可行的。我的问题是,也许我太偏执狂了,检查彼此的代码的做法是否很好?
PS:我们的团队只有三个开发人员,我担心如果会有更多的开发人员,同事将没有时间审查我们将编写的所有代码。
这就是我的故事:我的一位同事用来查看托管到修订系统的所有代码。我并不是说要对他所属零件的变化进行适当的审查。他逐行观看代码文件。每个新文件和每个修改的文件。我感觉就像被监视!
我的猜测是,如果代码已经托管在控制系统中,则至少应该相信它是可行的。我的问题是,也许我太偏执狂了,检查彼此的代码的做法是否很好?
PS:我们的团队只有三个开发人员,我担心如果会有更多的开发人员,同事将没有时间审查我们将编写的所有代码。
Answers:
我会说是的!
有两个快速原因:
1)如果代码正在生产中,则不能假定它是正确的。系统中其他位置的任何更改都会引入错误。我认为定期检查代码非常重要。这样,重构便会定期进行,从而使代码保持整洁和“更多”正确(最新可能是更好的选择)。
2)如果要成为一名程序员,能够读取代码是一项非常重要的技能。这是一项技能,您需要继续努力。对于任何在现有代码库上开始工作的程序员来说,如果他不习惯于阅读别人的代码,就会有陡峭的学习曲线,试图了解最新情况。
我认为您不应该被监视。接受别人给您的任何批评(当然,如果它是有效的)。并随时给其他人有效的批评。这是我们学习的方式。一旦我们停止学习(或想停止学习),就会出现大问题。
如果所说的同事提供了很好的建设性反馈,那将是一件很棒的事情,您应该非常感谢。
这将捕获您编写时没有想到的错误。这WILL导致你写出更好的代码,因为你知道其他人会看到它。
如果整个团队而不是一个人进行代码审查,那将是健康的。理想情况下,每个人都可以在完成后邀请某人查看其代码。使它保持非正式状态(使经理远离)是很有帮助的,并让审阅者通过他/她的发现告诉您。理想情况下,审阅者仅提供反馈,而不进行代码更改,当然您可以对其进行一点配对。
拥有编码标准确实有助于避免不断进行有关空白和代码风格的讨论。在构建机器上进行一些静态代码分析也可能有助于避免一些讨论。
关于时间方面,理论上讲它将节省您的时间。发现故障越晚,它们得到的代价就越高,即快速故障原理。同行代码审查可能会遇到很多问题。
您的同事听起来像一个勤奋的开发人员,您应该效法他的榜样。
我以类似的方式观看我们的版本控制系统。我们的代码库太大,无法观看每一行,但是我尝试对大多数更改都具有较高的了解。我还将检查最有可能产生副作用的签到项目,并逐行进行检查。在我花费最少的时间进行此操作后,回报是巨大的。(还请注意:我不是我们团队中唯一拥有这种习惯的开发人员。)
这种审查往往会发现错误或每周进行讨论。这样可以节省进行质量检查的时间。讨论范围从最佳实践到算法设计等等。这方面的关键是每个人都认为它具有建设性。
就个人而言,它还使我对我不经常接触的代码库其他部分中发生的事情有了更深入的了解。当其他人需要帮助时,我可以更快地加入。另外,当出现新想法时,我可以早日利用它们。