以下内容转载自:阮一峰 科技爱好者周刊(第 376 期)为什么大公司的代码质量不佳?

跟大家想的不一样,大公司的代码质量其实不高。

这看上去违反常理,大型科技公司薪酬优厚,足以吸引众多优秀工程师。而且,大公司的工作环境、配套工具、开发节奏都很好,非常适合从容不迫地完成高质量的工作。

但是,事实就是他们的代码质量完全谈不上优秀。

原因很简单,大公司的大多数代码都是由相对的初学者完成的。

那些工程师并不是不优秀,而是被迫去开发非本领域的项目,属于相对的初学者。

现实生活中,大型科技公司的工程师,很少会一直干下去。事实上,大公司的薪酬方案通常都设定了工程师的四年任期,四年后初始授予的股份全部归属,工程师的收入可能就会大幅下降。这时,如果你没有得到晋升,显然可以考虑离开了。

如果算上内部流动,情况就更糟了。我自己在同一个团队或同一个代码库,停留的时间最长也只有三年,那还是我刚入职的时期。后来,我每年都至少经历一次重组,更换团队或项目。

当然,大公司的代码库寿命没有这么短,很多内部代码库都有十年甚至更久的历史。问题是,这么多年来,这些库经历了许多不同的所有者,不同的工程师都在不断地”摸索”,相当高比例的代码变更是由”新手”完成的。这些人可能是在过去六个月内才加入公司、接触代码库。

你肯定会问,大公司的那些”老手”程序员难道不写代码吗?总有一些工程师在特定领域工作了足够长的时间,积累了真正的专业知识,会进行深入的代码审查,并能可靠地发现问题,这些人在干什么呢?

首先,大公司不在乎”老手”程序员。公司很少致力于培养特定专业的长期人才,而且似乎也根本不在乎留住这些人才。通常情况下,这些人迟早会被调到其他部门,成为一个全新系统的相对新手。

其次,”老手”工程师总是工作量巨大。作为少数精通特定服务的工程师之一,他们的工作非常繁忙。他没有足够的时间亲自审查每一次软件变更,或者积极参与每一个决策过程,他有自己的工作要做。

总之,大公司的现实就是,你总是被分配到新项目,几乎每天都在赶工,要赶上多个项目的截止日期。换句话说,工程师是在一个不利于编写高质量代码的环境中尽力而为。

这样情况下,就很难保证优秀的代码质量了。更常见的情况是,一位初级工程师接手了一个他几乎不熟悉的代码库中一个恼人 bug 的工单。他花了几天时间研究,最终想出了一个蹩脚的解决方案。如果幸运的话,一位”老手”在空闲的半小时里匆匆浏览了一下,否决了这个方案,并提出了一个稍微好一点、至少能用的方案。初级工程师尽力实现了这个方案,测试了它是否有效,经过简单的审查后发布,所有相关人员立即转而处理下一个高优先级的工作。


与《为什么大公司的代码质量不佳?》相关的博文:


发布时间 12/09/2025 06:25:08栏目 Other.标签 .

留言

avatar
😀
😀😁😂😅😭🤭😋😘🤔😰😱🤪💪👍👎🤝🌹👌