PragPro的哲学(之二)

2.软件的熵

熵是一个物理学术语,指的是一个系统中“混乱”的数量。不幸的是,热力学的定律保证在宇宙中熵趋向于无穷大。在软件中混乱增多的时候,程序员们管它叫做“软件腐烂”。

在内地的城市,一些建筑都很漂亮和干净,然而其他的都很挫。为什么呢?犯罪和城市领域的研究人员发现非常神奇的让一个干净、完整、有人居住的建筑变成乱七八糟遭人唾弃的鬼地方的触发机制。

一个破碎的窗户

一个破碎的窗户放着很久没有去修理,慢慢地,这栋楼的居民心中会产生抛弃感,这种感觉使得他们根本会在乎这栋楼。所以其他的窗户打坏了,人们开始把它丢在一边不管。渐渐地涂鸦出现了,建筑结构上严重的破坏也产生了。在相当短的时间里,这栋楼变得非常破旧搞得居民都不像去修理它,并且人们抛弃它成为了现实。

“破窗原理”给纽约和其他主要城市的警察局带来了灵感,他们用小事情来阻止大事情。这发挥了作用:保持破窗、涂鸦和不足挂齿的违规行为减少了严重的犯罪水平。

建议4

不要和破窗一起生活

不要遗留没有被修理的“破窗”(差劲的设计、错误的决定或者垃圾的代码)。以上任何一个问题被发现的时候就得去修复它。如果没有足够的时间去适当的处理它,那就把这个错误封闭起来。也许你可以把不好的代码注释起来,或者显示一个“未完成”这样的信息,或者用虚拟的数据代替。要采取行动来阻止更进一步的破坏以及表现出你是在最高状态。

你可能会想没有人有时间去把一个项目里所有的玻璃碎片都弄干净。如果你继续这样想的话,你最好还是去弄个大的垃圾桶过来,或者搬到另一个街坊。不要让熵赢了。