代码审查而不是代码审批

2020-10-18 16:58:53

在我们美丽的远程工作新世界中,异步协作方法尤为重要。当你在不同的地点工作,可能是按照不同的时间表工作时,你需要通信媒介,让你可以发送信息,然后继续做其他的事情。当信息另一端的人找到时间时,他们会做出回应,并迅速地继续自己的工作。没有人被封锁。另一种选择将是无法容忍的。在继续工作之前,等待可能几个小时甚至几天都不会有的回复将是巨大的时间浪费。而且,为了避免让人等待而被迫停止你正在从事的任何活动以立即响应收到的请求,同样也是有问题的。

虽然有时您很快就需要信息并被真正阻止,但如果这种情况很常见,那么您的项目管理方式可能会有问题。你的经理是否在没有给你必要的高层指导的情况下,一项又一项地给你任务?您的工程组织是否未能将入职信息收集到文档中,以便在您遇到问题时可供参考?不管是什么原因,很明显,人们需要独立工作的能力,而不需要不断地寻求指导。

但是假设您能够在大部分时间独立编写代码,并且拥有良好的异步方式与同事通信,那么仍然存在代码审查的问题。如果您真的想坚持异步工作范例,那么代码审查完全是倒退的。当一段代码准备好部署时,它总是在等待代码审查时停滞不前。进展戛然而止。这不是同步等待吗?是否使用手动审批步骤阻塞管道?你可能要等几天才能让人检查一下。当然,您可以在其他项目中工作,但是上下文切换是昂贵的。当您在您最高优先级的项目上奋力推进时,停下来进行代码审查几乎是最浪费的。效率专家为这类事情流下了眼泪。即使假设您可以继续进行第二个项目,但如果您完成了另一个任务,而第一个项目的任务仍然没有获得批准,会发生什么呢?你在做第三个项目吗?在某种程度上,疯狂必须停止。

这里真正的问题是,代码审查实际上根本不是审查。Reeview这个词的意思是某件事已经完成,你只是在事后过目。我们现在做的应该叫代码审批。有些事情即将完成(您的Scrum主管会很快指出,在投入生产之前什么都不是“完成”的),需要有人勾选一个复选框,这样它才能进入完成阶段。它被拦住了,因为它撞到了守门人。如果这真的是一篇评论,你可能已经把它推高了,然后就上路了。但是相反,你在等待许可。你被拦住了,坐在路边,看着你的竞争对手从你身边跑过。

在理想的情况下,您可以部署,然后有人会立即收到通知,说有新的东西需要查看。然后,当他们有机会时,当他们的大脑没有深入到另一个问题时,他们可以仔细检查一下。在此期间,你可以在你的下一个项目上取得进展。

我知道这会让一些经理心烦意乱,但没必要。如果上线的代码中有什么问题,可以在未来的提交中修复(这将很快得到修复,因为它不必等待审查)。如果这是一个严重的问题,希望一个基本的烟雾测试能捕捉到它,并自动将其回滚。老实说,无论如何,我相信测试套件比人类审查者更能发现问题。不管怎样,花在复习上的时间用在构建更全面的测试上不是更好吗?

我说服你了吗?您准备好开始进行实际的代码审查了吗,把代码审批留给小鸟去做了吗?

编程异端的家园。仅仅因为你的想法不同并不意味着你是错的。

我已经编程二十年了--我仍然很喜欢它。但是,我确实有一些看法。想听听吗?

我们的职业越来越受到限制。但并不是每种“最佳实践”都适用于每一种情况。打破传统的编码器是一个挑战编程现状的地方。超越炒作,让编码更有效,最重要的是让 - 更有趣!

我已经编程二十年了--我仍然很喜欢它。但是,我确实有一些看法。想听听吗?

我们的职业越来越受到限制。但并不是每种“最佳实践”都适用于每一种情况。打破传统的编码器是一个挑战编程现状的地方。超越炒作,让编码更有效,最重要的是让 - 更有趣!

媒体是一个开放的平台,1.7亿读者来这里发现有洞察力和动态的思维。在这里,专家和未被发现的声音都会深入到任何话题的核心,并将新想法浮出水面。了解更多。

关注对你来说重要的作家、出版物和话题,你会在你的主页和收件箱里看到它们。探索。

如果你有故事要讲,有知识要分享,或者有观点要提供-欢迎回家。在任何话题上发表你的想法都很容易,也很自由。在介质上写入