Clean Code前言--阅读与讨论
看到该书的前言时,我承认被这张图惊到了

这不就是我看某十年以上老项目代码时的体验吗?到处都是Shit! Shit!
肥肥的几百行一个的乃至上千行一个的函数,功能复杂到与其他的各种东西相干涉,千奇百怪的变量名,怪异的缩写(Bcsval,Rbsrbph,都什么玩意儿),多年不敢碰的配置文件...
增加点直观印象:
SISDOUBLE fSA = 0.0f; // Sum Assured on death
SISDOUBLE fCSV = 0.0f; // Cash Surrender Value
SISDOUBLE fDisN = 0.0f; // Disclosure factor
SISDOUBLE fDisS = 0.0f; // Disclosure factor
SISDOUBLE fTC = 0.0f; // Total coupons
SISDOUBLE fAC = 0.0f; // Total accumulated coupons
SISDOUBLE fTRB = 0.0f; // Total reversionary bonus
SISDOUBLE fRB = 0.0f; // Reversionary bonus
SISDOUBLE fSB = 0.0f; // Terminal bonus on surrender
SISDOUBLE fMB = 0.0f; // Maturity bonus
SISDOUBLE fDB = 0.0f; // Terminal bonus on death
SISDOUBLE fAFacto = 0.0f; // A-factor for calculation of cash value of bonuses
SISDOUBLE fADFactor = 0.0f; // Adjustment factor calculation of cash value of bonuses
虽然有注释,但用着用着,已经不知道它是干什么的了。
而且你还千万别碰,碰了就出事。
感觉代码已经脏到了这个地步(别吐):
![]()
这些几十万行代码虽丑,但功能却强大,是一个很重要的数据引擎,至今被使用...
这些代码已经很难看了,但紧张的时间,以及“反正已经这样了,再加一些也没啥”的想法,使得开发者只是继续前任的行为,继续补丁加补丁的开发着。
而且由于破窗效应:环境中的不良现象如果被放任存在,会诱使人们仿效,甚至变本加厉。

这些程序的维护者,包括我在内,觉得反正这个项目的代码已经是这样了,增加和维护功能时,不太在意代码的整洁,随意的添加着补丁,给后人带来更多的理解困惑。
生产力的下降是必然的,象屎一样的代码,和更多象屎一样的代码...