建议美国“盟友”加大抵制力度
实验说明的是由于对渐变的适应性和习惯性,失去了警惕和反抗力的道理。 在程序系统中也是适用的,程序员们工作时间久了,就会进入一种安逸的状态,称之为“舒适区”。在舒适区中,程序员往往是一种麻痹的状态,对外界的变化感知麻木。 软件代码在时间的长河中,慢慢地、悄无声息的发生着变化,这个变化最终将会失去控制。 大多数的软件系统都会从微不足道的小bug开始,慢性死亡。 软件项目被各种各样的小bug折腾,只能一天天的延期。 软件项目中的每一个需求,就像是衣服上破的洞,被打上一个个的补丁,最后已经无法看清软件架构本身的模样,就像已经无法看清衣服本身的颜色。 最可怕的是,每一个程序员都承认这是正常、可以接受的状态,每天乐此不疲的进行bugfix,他们就像温水里的青蛙,享受着这种状态。丝毫没有感受到整个软件系统正在变成垃圾,变的满目全非。最后迎接他们的是臃肿的、难以维护的代码。 水煮蛙和破窗效应是不同的,他们的不同点在于是否有主观意愿。 破窗问题上,软件系统变得杂乱无章,是程序员们在看到“破窗”时,并没有及时阻止这种事情发生,从而认为没有人会注意到这个问题。 而煮蛙问题上,重点是“慢”,如果放在热水中或者是快速升温,青蛙是会奋力的一跳,逃出生天的。所以程序员真的只是没有察觉,软件系统就在慢慢的走向死亡。 3.自我为中心 下图是一副非常有名的画作,名为『从主教花园望见的索尔兹伯里大教堂』,作者康斯太勃尔,英国的著名油画家。 有一天,康斯太勃尔去他的金主大教堂的主教Fisher先生家里玩。 Fisher主教跟画家先生说:“亲爱的画家,你帮我画一幅画吧。把我和我美丽的妻子以及我这大教堂一起画到画里。我要把画留在教堂,成为镇堂之宝。”于是康斯太勃尔先生很高兴的接下这个项目。 画家开始了辛苦的工作,经过一段时间终于把这幅画完成了。 画家画这幅画时可能心情不好,所以在教堂塔尖上方的天空有一片乌云。Fisher主教看到这幅画后,很不满意。虽然画家把主教大人、主教夫人和教堂都画进去了,但是两口子只在左下角露了个背影,这也就忍了。“下面那几头牛是怎么回事,为什么比我们占的镜头还多?”主教问。画家说:“你没看懂?我是在恭维您呢,是说您和您夫人好牛!”。Fisher先生没什么话说了,然后又找到了新的吐槽点:“为什么天空的云都是乌云?”。 他邀请画家再去他家做客,重新观察,以便于修改画作。画家很不高兴了,就单独把画展出了。展出之后得到很多好评,于是回信给Fisher主教:“你看,大家都说很好看,不用改了。”,Fisher主教收到信后也怒了,回信就说了一句话:“给我改!!!”。 这就是关于需求的故事,我们再看上图,看看教主和教主夫人被画到了哪里?您能找到吗? 大鱼教主想要一幅画,画里有他们夫妻二人和教堂,需求表达完后,并没有再对需求进行更具体的说明。 更深入的思考,为何总是会存在描述不清的情况呢? 读者们肯定也遇到过类似问题,究其更深层次原因,就是“自我中心”。 人的成长过程就是一个“去中心化的”的过程。大约6岁之后,儿童的自我去中心化的能力得到了发展。开始能够认识到别人的感受、观点,但是每个人在社会化过程中,会呈现出不同的去自我中心化的状态。 可以说是每一个成年人都有自我中心,我们的感受,想法,认识不可能做到完全的客观。所以我们需要利用结构化思维,(可以参考我的另一篇文章《程序员必备能力——结构化思维》)和系统化思考(可以参考我的一篇文章《程序员必备能力——深度思考》)。 在软件开发过程中,同样适用这个结论,我认为至少表现如下几点:
4.业务
代码熵增的常见的客观原因是主要是业务压力大,导致没有时间或意愿讲究代码质量。因为向业务压力妥协而生产烂代码之后,开发效率会随之下降,导致业务压力更大,形成一种典型的恶性循环。 (编辑:济源站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |