许多程序员都有向他人请教代码问题或解释代码的经历,而在解释的过程中,程序员可能就发觉了问题的解决方案,一边阐述代码的意图,一遍观察代码实际上产生的行为并调试,一旦有任何不协调的地方就能够迅速地发现并解决问题。

小黄鸭调试法就是这样,工作的时候,在电脑旁边放一只小黄鸭,耐心地跟它讲解每一行代码的逻辑和意义,以此来激发灵感和发现矛盾。

可惜,在当今中国的编码环境中,由于产品迭代周期极短,需求量大、代码量大,程序员根本没有时间在产品上线前实施小黄鸭调试。

而这样就引发了一个问题,代码没有经过小黄鸭调试,可能存在许多隐藏的Bug,而在程序员修复这些隐藏的Bugs的时候,可能会引入新的Bug…

更糟糕的是,如果修Bug的人不是当初写Bug的那个人,对整个代码逻辑和功能逻辑并不一定非常了解,那么有可能写出比原有Bug更加严重的Bug…

久而久之就形成了负反馈,产品功能越来越多,程序员越来越多,代码越写越糟糕,最终达到一种状态:能用就行

那么为什么?小黄鸭调试法在中国行不通的本质原因是什么?

1.“时间就是金钱,效率就是生命”

房价太高,结婚要买房,娃儿要读书,不急不行。上头急、组长急、产品急、开发急,大家都急,急急如厕令,厕所都得装个计时器,哪有时间跟你只鸭子折腾。

2.代码写得好,加班少,涨薪真的没你份儿

大部分开发者的目的都不是写出最优质的代码,而是赚最多的钱。为了钱而写代码,编程不过赚钱的工具,功能写得越多、钱就越多。

Bug多一点无所谓,毕竟老子写的功能比Bug多得多,那你小黄鸭调试法还有啥用,不是在拖累我赚钱的速度吗?

3.各种编程营销组织带坏编程风气

如果你是编程教育的细分领域,教量化投资、SaaS编程等技术含量高的课程也就算了。问题是一个教Python基础的课程起这样的标题是何居心?

总而言之,小黄鸭调试法的行不通,是因为中国程序员大量的时间(包括加班时间),花在了一些原本可以避免的Bug和可有可无的需求上。

从微观上看,是对KPI的焦虑、是对生活的担忧。

从宏观上看,是公司违法成本低、甚至根本不需要成本。

租下来的办公楼,多开几个小时灯就能多出一个新功能,成本近乎于零,没人用不亏,有人用则赚爆,何乐而不为?

但是许多人没想过的是,这样的生产成果,终究会化为垃圾,甚至对于整个产品而言单纯只是拖油瓶。真正长久不衰的功能,往往需要精心打造,而非急功近利。

在当今中国的编码环境中,我看不到有进行任何科学规划的团队,看不到有精心打造软件产品的公司。

就长期而言,我对中国的软件业持看空态度。为了急功近利的眼前效益,程序员生产的代码质量自然变得极差,就如同前面提到的负反馈效应,越往后,质量只会越来越差。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。