代码走查和代码审查
我们被告知我们应该组织代码审查,因为代码审查对我们的代码库有益。 我们遵循了这一建议,并设法建立了宏伟的外观。 我们正在进行代码审查并改善代码库。 从外部看,一切都很好,也许我们正在取得一些进展。
但是,我们还没有释放代码审查的全部潜力。
代码审查浪费时间
传统的代码审查有两个主要问题:
- 代码库太大 。 因为传统的审阅通常是在里程碑之前或之后进行的,所以审阅的代码库很大,以至于没有人能在合理的时间内阅读完它。 同样,如果说实话,我们必须承认,没有人愿意花费大量时间来阅读大量代码,即使允许这样做(这种情况并不常见)。 这就是为什么大多数评论几乎毫无价值的原因。
- 反馈总是很晚 。 当代码审查不是集成到我们日常工作中的连续过程时,在审查代码库之前已经编写了许多代码。 换句话说,如果我们从代码中发现了一些关键问题,那么很可能同一错误发生了多次。 我们被搞砸了。 我们的代码库中存在严重问题,通常我们没有足够的时间来解决它们。
传统的代码审查浪费时间。 将整个团队拖到会议室中讨论迟到且毫无用处的评论便完全没有道理。 让我们改进代码库而不是将我们拉到会议中来会更有效率,其唯一目的是给人一种我们在乎代码质量的印象。
幸运的是,我们的希望没有丢失。
形式跟随功能
俗话说,通向地狱的道路是善意铺成的。 传统代码审查的目的是好的,但是执行会导致更多的问题而不是解决的。 我们应该致力于使代码审查成为我们日常工作的一部分,而不是依靠繁琐的过程。
我们可以使用结对编程并查看每个提交的内容。 这些技术解决了传统代码审查过程中的大多数问题,因为它们提供了灵活性和即时反馈,而如果我们选择遵循传统方法,则这些反馈是不存在的。 但是,我一直在想我们还有其他事情可以做。
我们进行代码审查的原因有两个:
- 我们希望保持代码库整洁,并消除尽可能糟糕的代码。
- 我们想与您的团队成员分享知识。
五个原因是一种解决问题的技术,用于确定问题的根本原因。 它的主要思想是一直问“为什么”,直到确定问题的根本原因。 那么,这与代码审查有什么关系?
这项技术可帮助我们确定按原样实施审阅代码的原因。 此信息很重要,因为它有助于我们根据其意图评估当前实施。 这有助于我们专注于代码的功能而不是代码的形式。 弄清楚:形式固然重要,但它遵循功能; 并非相反。
作为奖励,我们将隐藏的信息传播给团队的其他成员。
从判断到改进
对于有经验的软件开发人员而言,使用五种原因技术的想法可能并不新鲜。 这是我们在日常工作中应该已经使用的技术。 但是,它具有一个意外的优势。
传统的代码审查可能会令人不快,可能导致我们的团队成员之间产生不必要的摩擦。 我们中的某些人倾向于个人收集所有反馈,而另一些人则不擅长提供建设性的反馈。 这不是专业的,但非常人性化。
这五个“为什么”技术是一种聪明的方法,可以将实施了审阅代码的软件开发人员纳入活动过程,作为活动参与者。 这减轻了压力,因为它使我们的开发人员感到我们正在尝试理解他的决定,而不仅仅是判断它们。
这是一个巨大的好处,因为现在我们可以专注于我们的共同目标,并开始对我们的代码库进行不断的改进。
翻译自: https://www.javacodegeeks.com/2013/05/code-reviews-with-five-whys.html
代码走查和代码审查