从不曾见过任何一本书,对工学描绘的如此具有艺术性。以下仅记录书中一些个人比较看重的点
Chapter 1 The Tar Pit 第一章 焦油坑
史前史中,没有别的场景比巨兽们在焦油坑里垂死挣扎的场面更令人震撼。上帝见证着恐龙、猛犸象、剑齿虎在焦油坑里挣扎。它们挣扎得越猛烈,焦油纠缠得就越紧,没有哪种猛兽足够强壮或具有足够的技巧,能够挣脱束缚,它们最后都沉到了坑底。而软件工程就是一个巨大的焦油坑。
Chapter 2 The Mythical Man-Month 第二章 人月神话
一切以人月去度量一个工程的规模,是一个危险并且带有欺骗性的神话
Chapter 3 The Surgical Team 第三章 外科手术队伍
团队合作很重要,一个人走得更快,但是一群人才能走得更远。外科手术队伍包括:
Chapter 4 Aristocracy, Democracy, and System Design 第四章 贵族专制,民主政治和系统设计
架构师可以拥有贵族专制,但是程序员应该具有民主政治(对代码细节如何具体实现),以及程序员不应该在系统设计阶段无所事事,应该开始慢慢了解熟悉系统。
Chapter 5 The Second-System Effect 第五章 画蛇添足
设计第一个系统的时候往往由于种种原因导致系统差强人意勉强上线。但是切忌第二个系统多加修饰,画蛇添足。
Chapter 6 Passing the Word 第六章 贯彻执行
一定要贯彻执行产品说明书文档。当然在四十年后的今天,敏捷开发提倡面对面的交流胜过面面俱到的文档。
Chapter 7 Why Did the Tower of Babel Fail? 第七章 为什么巴比塔会失败
巴比塔在当时不缺时间,不缺成本,不缺资源,可以说什么都不缺,但是失败了,因为缺少团队交流,因为软件工程是一个teamwork。
Chapter 8 Calling the Shot 第八章 胸有成竹
胸有成竹讲的不要盲目去写代码,一定要先进行系统的分析设计。
Chapter 9 Ten Pounds in a Five-Pound Sack 第九章 削足适履
Chapter 10 The Documentary Hypothesis 第十章 提纲挈领
Chapter 11 Plan to Throw One Away 第十一章 未雨绸缪
Chapter 12 Sharp Tools 第十二章 干将莫邪
Chapter 13 The Whole and the Parts 第十三章 整体部分
Chapter 14 Hatching a Catastrophe 第十四章 祸起萧墙
Chapter 15 The Other Face 第十五章 另外一面
Chapter 16 No Silver Bullet—Essence and Accident 第十六章 没有银弹
在所有恐怖民间传说的妖怪中,最可怕的是人狼,因为它们可以完全出乎意料地从熟 悉的面孔变成可怕的怪物。为了对付人狼,我们在寻找可以消灭它们的银弹。如果把软件工程比作人狼,银弹应该是指某种策略、技术或者技巧可以极大地提高程序员的生产力。但实际上却是不存在。因此银弹效应是指:妄图创造某种便捷的开发技术,从而使某个项目的实施提高效率。又或者摆脱该项目的本质或者核心,而达到超乎想象的成功,这么做的结果只是徒劳。
Chapter 17 "No Silver Bullet" Retired 第十七章 再论“没有银弹”
Chapter 18 Propositions of The Mythical Man-Month: True or False? 第十八章 《人月神话》的观点:是与非?
Chapter 19 The Mythical Man-Month after 20 Years 第十九章 二十年后的人月神话
Epilogue 结束语 令人向往、激动人心和充满乐趣的50年
Notes and References 注解和参考文献