依据你的职业发展、你的项目和你每天的工作,为你自己和你的行为负责这样-
种观念,是注重实效的哲学的一块基石。注重实效的程序员对他或她自己的职业生涯
负责,并且不害怕承认无知或错误。这肯定并非是编程最令人愉悦的方面,但它肯定
会发生
即使是在最好的项目中。尽管有彻底的测试、良好的文档以及足够的自动
化,事情还是会出错。交付晚了,出现了未曾预见到的技术问题。
发生这样的事情,我们要设法尽可能职业地处理它们。这意味着诚实和坦率。我
们可以为我们的能力自豪,但对于我们的缺点
还有我们的无知和我们的错误-
我们必须诚实
负贲
责任是你主动担负的东西。你承诺确保某件事情正确完成,但你不一定能直接控
制事情的每一个方面。除了尽你所能以外,你必须分析风险是否超出了你的控制。对
手不可能做到的事情或是风险太大的事情,你有权不去为之负责。你必须基于你自己
的道德准则和判断来做出决定。
如果你确实同意要为某个结果负责,你就应切实负起责任。当你犯错误(就如同
我们所有人都会犯错误一样)、或是判断失误时,诚实地承认它,并设法给出各种选择。
不要责备别人或别的东西,或是拼凑借口。不要把所有问题都归咎于供应商、编程语言
尽管软件开发几乎不受任何物理定律的约束,熵(entropy)对我们的影响却很大
熵是一个来自物理学的概念,指的是某个系统中的 〝无序”的总量。遗憾的是,热力
学定律保证了宇宙中的熵倾向于最大化。当软件中的无序增长时,程序员们称之为“软
件腐烂"
(software rot )o
有许多因素可以促生软件腐烂。其中最重要的一个似乎是开发项目时的心理(或
文化)。即使你的团队只有你一个人,你开发项目时的心理也可能是非常微妙的事情。
尽管制定了最好的计划,拥有最好的开发者,项目在其生命期中仍可能遭遇毀灭和衰
败。而另外有一些项目,尽管遇到巨大的困难和接连而来的挫折,却成功地击败自然
的无序倾向,设法取得了相当好的结果。
是什么造成了这样的差异?
在市区,有些建筑漂亮而整洁,而另一些却是破败不堪的 “废弃船只”。为什么?
犯罪和城市衰退领域的研究者发现了-种迷人的触发机制。
一种能够很快将整洁、完
整和有人居住的建筑变为破败的废弃物的机制
一扇破窗户,只要有那么一段时间不修理,就会渐渐给建筑的居民带来_种废弃
感
种职权部门不关心这座建筑的感觉。于是又一扇窗户破了。人们开始乱扔垃
圾。出现了乱涂乱画。严重的结构损坏开始了。在相对较短的一段时间里,建筑就被
损毁得超出了业主愿意修理的程度,而废弃感变成了现实。
〝破窗户理论〞启发了纽约和其他大城市的警察部门,他们对一些轻微的案件严
加处理,以防止大案的发生。这起了作用:管束破窗户、乱涂乱画和其他轻微违法事
件减少了严重罪案的发生。