除了是程序员,Andy Hunt还是一位木匠和音乐家,你LD将v到h与这样的背景粕关单引擎飞机。尽管作者未曾明言,在本书的许多地方、你都将看到与这样的背景相关的叙述。我想,对于两位作者而言,编程就和木匠活、和音乐创作、或是驾驶飞机-一-样,既需要禀赋,更需要坚持不懈的学习和训练—这也正是书中所说的,编程是一种技艺、一种需要用心学习的技艺。也许,只有在长久的学习之后,我们才会开始明白书中提到的“hacker”的真正含义:“Someone who loves to program and enjoysbeing clever about it”
大多数人发现自己很难接受变化,有时是出于好的理由,有时只是因为固有的惰性。在“石头汤与煮青蛙”中,我们将考察―种促成变化的策略,并(出于对平衡的兴趣)讲述一个忽视渐变危险的两栖动物的警世传说。
尽管软件开发几乎不受任何物理定律的约束,嫡( entropy )对我们的影响却很大。嫡是一个来自物理学的概念,指的是某个系统中的“无序”的总量。遗憾的是,热力学定律保证了宇宙中的嫡倾向于最大化。当软件中的无序增长时,程序员们称之为“软件腐烂”( software rot )
有许多因素可以促生软件腐烂。其中最重要的-个似乎是开发项目时的心理(或文化)。即使你的团队只有你-个人,你开发项目时的心理也可能是非常微妙的事情。尽管制定了最好的计划,拥有最好的开发者,项目在其生命期中仍可能遭遇毁灭和衰败。而另外有一些项目,尽管遇到巨大的困难和接连而来的挫折,却成功地击败自然的无序倾向,设法取得了相当好的结果。
不要留着“破窗户”(低劣的设计、错误决策、或是糟糕的代码)不修。发现一个就修一个。如果没有足够的时间进行适当的修理,就用木板把它钉起来。或许你可以把出问题的代码放人注释( comment out ),或是显示“未实现”消息,或是用虚设的数据( dummy data)加以替代。采取某种行动防止进一步的损坏,并说明情势处在你的控制之下。
这的确是一个极端的事例,但我们必须以这样的方式对待软件。一扇破窗户--一段设计低劣的代码、团队必须在整个项目开发过程中加以忍受的一项糟糕的管理决策--就足以使项目开始衰败。如果你发现自己在有好些破窗户的项目里工作、会很容易产生这样的想法:“这些代码的其余部分也是垃圾,我只要照着做就行了。”项目在这之前是否一直很好,并没有什么关系。在最初得出“破窗户理论”的一项实验中,--辆废弃的轿车放了一个星期,无人理睬。而一旦有--扇窗户被打破,数小时之内车上的设备就被抢夺-空,车也被翻了个底朝天。
标签:项目,--,小工,读书笔记,窗户,程序员,软件,代码 From: https://www.cnblogs.com/Bronya019c/p/16746426.html