请求 StackOverflow 重新发布:

我的开发时间很短,开发时间非常有限。我们开发了一种对我们的工作结果很重要但并不每天使用的工具。我是团队中唯一有程序员背景的人。

我的问题是,在一年多的时间里,我一直在推动代码审查,然后再合并回主干。每个人都同意这一点,但仍然只有我的代码经过了审查。从长假回来后,我回到了一个带有代码注释的行李箱,“这是一个丑陋的解决方案 - 尽快删除”和“快速修复”。同样新鲜的是,一个人被任命负责该工具。(最初向我提供了这个职位,但由于与工作无关的原因我拒绝了。)他认为这是一种不错的工作方式:由于我们的发展时间如此有限,我们应该像这样走捷径。

我担心其他开发人员编写丑陋的代码:经常破坏封装、编写巨大的类、在奇怪的地方添加内部类、很少或没有单元测试等等。最终将不可能进一步开发该工具。

我应该坚持在合并回主干之前执行代码审查,还是我只是一个代码质量问题?

有帮助吗?

解决方案

我以前遇到过类似的情况,恕我直言,这取决于“我是否必须维护代码”。

如果我必须维护代码,那么我想要高质量的代码,我个人不需要对每次提交进行代码审查(即程序员可以自己决定某些代码是否需要审查),但如果可读性/可维护性受到影响,则可能会如此。

阅读本文时:

我担心的是其他开发人员编写了丑陋的代码:通常会打破封装,写大型课程,在奇怪的地方添加内部类,几乎没有单位测试等等。最终将不可能进一步开发该工具。

我确实认为你的问题不仅仅是代码审查。您似乎缺少一些指导方针和/或它们没有得到实施。没有/很少有单元测试可能是一个坏主意,但这取决于具体情况。然而, breaking encapsulation, writing huge classes, ... 真正编写容易出现错误的代码,因此肯定应该予以修复。

其他提示

我认为代码审查和维护一些编码指南是一个好主意,但我认为这样做是为了 每一次签到 是浪费时间。当与年轻程序员一起建立团队时,这是一个好主意,但是经验丰富的程序员可以自己思考,最终你将不得不信任他们。也就是说,您可以定期进行代码审查来更新内容,但是查看进入 VCS 的每一行代码确实有点过头了。

以及关于你同事的修复的小评论 - 有时会做出丑陋的修复 是正确的解决方案. 。可能这个特定的代码不够重要,不需要投入大量时间,也可能简单的解决方案已经足够好,最好在其他事情上投入时间。让你的代码变得“漂亮”并不是你作为程序员的主要目标。 您的主要目标是交付 痴迷于每一行代码根本无法让你达到目标。

我想说的是——你需要选择你的战斗。为了赢得交付战争(或者就此而言,这场真正重要的子系统战争),在一些无关紧要的实用程序类上输掉战斗是可以的。

如果所讨论的程序不是一次性原型,我认为每次签入都应该强制进行代码审查。

一旦高级开发人员足够认真地在适当的时候请求审查,他们就可以享有不经过审查的签入特权。

在有人开始执行更好的编码标准之前,不确定代码审查是否是答案。有人写了蹩脚的代码,评论/承认它并无论如何检查它。如果有人想要拒绝代码,但审查会导致你落后于计划,那么审查有什么好处呢?

您将需要:制定标准,更密切地监督主要罪魁祸首,并向他们灌输这样的观念:好的代码并不总是需要更多的时间来编写。他们需要停止使用时间表作为拒绝改变坏习惯的借口。

许可以下: CC-BY-SA归因
scroll top