初读此书,最大的震撼便是其章节的设定。大致浏览目录,惊奇的发现本书的目录是从第零章开始,这与大多数书目略有不同,而转头想想,这也与本书的类别颇为契合。作为一本计算机类小说,它的设定也与程序员的编码习惯一致。
第零章 软件时间
本章开篇便提及一个我们从未接触过的一款名叫summer的游戏,不免让我们对接下来的内容产生浓厚的兴趣,与当今程序设定不同,书中提及的通过纸带来玩游戏并且修改游戏现在想想也是非常有趣。
本章还利用建造桥梁过程设计精密、执行无误来引出“人类文明运行于软件之上”的观点,软件就是麻烦一堆,给我们带来挫败和束缚的软件,也用更多功能、更快更好地工作与生活方式来引诱我们。我们对软件的需要,远甚于对它的仇恨。
第一章 死定了
“BluePrint”作为一个软件开发的指引,在软件开发周期中拥有着不可替代的作用。而本章所提及的程序员没能按照预期进度完成工程,其原因之一就是缺少蓝图,没有蓝图就可能会碰上没有预料到的问题。有时自己所需的时间取决于他人所花的时间,虽然单人完成整个工程是最容易避免错误和问题的方法,但是工程量的庞大使得必须团队协作。布鲁克斯法则:“往已延误的项目中补充人力,只会使其继续延误。”听起来既是原则也是悖论,但的确适用于软件开发者,实际开发中,编码只占软件项目开发时间的六分之一,有一半时间用于测试和修正缺陷。对于软件开发者所谓的人月神话并不适用,“只有在任务能分派给许多互相之间无需沟通的工作者时,人和月才是可互换品。”然而,随着OSAF(”开放源代码软件“)的创建,开源让编程世界错以为布鲁斯可法则将成为弃履。
”好的软件开发工作始于打造开发者本人。只要是做某种取悦自己或满足己需的东西,程序员就会动力十足,努力做到最好。“非常适用于自己,愉悦是金,面对编程要有积极的心态,不惧怕,不畏惧,并努力热爱。
而在本章最后,让我感触最深的还是这样一段话:“棒球队经理视进取精神为伟大球员和伟大球队的天赋要素。奔跑快过所需,移位先过所需,努力大过所需对于伟大的编程团队,这也是必须要素。”在我看来,同一支棒球一样,进取精神为第一要素。