导入
为什么像“破窗效应”这样的捷径是有害的?
了解破窗理论,以及为什么走捷径就像打破的窗户。
简介
在本课程的简介中,我曾抱怨过一个令人无奈的事实:我们总是被迫走捷径,不断积累大量技术债务,却始终没有机会偿还。
要避免走捷径,首先必须能够识别它们。因此,本章的目标是提高对一些潜在捷径的认识,并讨论这些捷径带来的影响。
掌握了这些信息后,我们就能识别并修复那些无意中引入的捷径;或者,在确有理由的情况下,也可以有意识地接受某些捷径所带来的后果。
破窗理论
1969年,心理学家菲利普·津巴多(Philip Zimbardo)进行了一项实验,用于验证后来被称为“破窗理论”的假说。
...
他将一辆无牌照的汽车停放在纽约布朗克斯的一个社区,另一辆则停放在帕洛阿尔托一个被认为是“更良好”的社区。然后,他开始观察。
布朗克斯的那辆车在24小时内就被拆光了所有有价值的零部件,随后路人开始随意破坏它。
而帕洛阿尔托的那辆车一周内都未被触碰。于是津巴多主动砸碎了其中一扇车窗。此后,这辆车的命运立即发生了转变——就像布朗克斯的那辆一样,很快就被过往行人彻底破坏。
参与破坏和掠夺车辆的人来自各个社会阶层,其中包括平时遵纪守法、行为良好的普通市民。
这种人类行为模式后来被称为“破窗理论”。用我自己的话来说就是:
一旦某样东西看起来破败、受损、[此处插入负面形容词],或总体上无人维护,人的大脑就会觉得再让它变得更糟一点也无所谓。
现实生活中的破窗现象
这一理论适用于生活的诸多领域:
- 在故意破坏行为普遍的社区,对一辆无人看管的汽车进行盗窃或破坏的心理门槛很低。
- 即使是在“良好”社区,当一辆汽车已有破损车窗时,进一步破坏它的心理门槛也很低。
- 在一间杂乱的卧室里,人们更倾向于把衣服随手扔在地上,而不是放进衣柜。
- 在一个普遍存在欺凌行为的群体中,继续施加轻微欺凌行为的心理门槛也很低。
将这一理论应用到代码开发中,就意味着:
- 当你在质量低下的代码库上工作时,写出更多低质量代码的心理门槛会变得很低。
- 当代码库中已存在大量编码规范违规时,再增加一条违规的阻力很小。
- 当代码库中已经充斥着各种捷径时,再添加一个新的捷径也就顺理成章。
考虑到这一点,许多所谓的“遗留”代码库随着时间推移质量严重退化,难道还值得惊讶吗?
