领导宣布:每个人写的代码超过十个 bug 就开除!
收藏

作者:程序员客栈、方应杭
https://www.zhihu.com/question/348196899
01
领导:现在咱们研发部门有好几个项目组了,有上百名开发,需要评定大家的绩效。
HR:对,我觉得公司天天最闲散的就是他们,天天迟到,来了就对着电脑敲啊敲,别人不懂技术也不知道他们做的怎么样。
领导:没错,你看咱们就没有一个项目没延期过,要加强绩效考核!
HR:从今天开始,我们以大家的代码行数为评定绩效的标准。
程序员们:代码行数,这好办啊,咱多来点换行,空行。能写成两行的绝不写成一行。
过了一个月……
领导:研发部门上个月的绩效怎么样?
HR:他们上个月绩效都很好,平均行数上涨百分之十五。
领导:让技术主管看看代码。
技术主管:这代码里怎么有这么多空行,再就是,之前写成一行的,现在怎么变成三行了!
领导:下个月,空行和只有括号的行数都不算!
程序员们:这好办啊,我多写点注释就好啦。
又过了一个月……
领导:研发部门上个月的绩效怎么样?
HR:他们上个月绩效都很好,平均行数又上涨百分之十。
领导:让技术主管看看代码。
技术主管:这代码里怎么有这么多注释,注释多了,代码行数自然就多了。
领导:下个月注释不算在代码行数内!
程序员们:这怎么弄,好愁人!我想到了,在代码里多写点函数,但是不进行调用,这样也不会影响正常的程序运行。
这样又过了一个月……
领导:研发部门上个月的绩效怎么样?
HR:他们上个月绩效都很好,平均行数上涨了百分之三十!
领导:这怎么可能!让技术主管来看看代码!
技术主管:这代码里怎么有这么多 veryImportantFunction() 但是也没调用啊。
HR:我建议咱们别用代码行数评绩效了。就用 bug 数,个人写的代码超过 10 个 bug 直接开除,我就不信治不了你们!
领导:好,就这么定了!
程序员们:这怎么办,这写代码有几个 bug 正常啊,怎么超过十个就要被开除了!但是咱们程序员也是智商过人的群体,怎么能被他们难倒!
就这样,程序员们每天什么事都不干,就想怎么避免出 bug,一晃一个月过去了,大家一行代码都没写,但是 bug 数均为 0
所有项目延期,公司倒闭,老板卒……

02

领导宣布:每个人写的代码超过十个 bug 就开除!
开发:测试的兄弟们,这可怎么办,帮帮开发的兄弟们呀。
测试:我们也没办法呀,你们把代码写好点?
开发:写再好写不可能不超过 10 个呀,而且你们想想,如果我们不写 bug,你们测什么?你们测不出 bug,会不会被炒掉?你们自己想想吧!
测试:确实……
开发:所以啊,我们需要既能测出 bug,又不能让 bug 超过 10 个。
测试:这怎么做到啊?
开发:好做啊,我们只需要「计划 bug」即可,就跟「计划经济」一样。
测试:怎么计划?
开发:打个比方,今天提测了,三天后上线,这三天是你们的测试时间,一共只能有 9 个 bug。们只要每天定好只提三个 bug 就行。
测试:可以啊,我们每天做个内部记录,当天晚上只在 bug 跟踪系统里挑三个最严重的 bug 录入,内部记录我们就在这个群里发给开发。
开发:不错不错,就这么办。

一段时候之后,领导发现系统的 bug 数量明显降低,于是觉得自己的领导能力一级棒,整天沾沾自喜。
03
领导宣布:
每个程序员写出 10 个bug,就开除。
每个测试测不出 10 个bug,就开除!