软件工程
Design Patterns: Elements of Reusable Object-Oriented Software Skybridge Goodreads Douban
author: Erich Gamma / Grady Booch publishing house: Addison-Wesley Professional 1994 - 1 other title: Design Patterns
Capturing a wealth of experience about the design of object-oriented software, four top-notch designers present a catalog of simple and succinct solutions to commonly occurring design problems. Previously undocumented, these 23 patterns allow designers to create more flexible, elegant, and ultimately reusable designs without having to rediscover the design solutions themselves.

The authors begin by describing what patterns are and how they can help you design object-oriented software. They then go on to systematically name, explain, evaluate, and catalog recurring designs in object-oriented systems. With Design Patterns as your guide, you will learn how these important patterns fit into the software development process, and how you can leverage them to solve your own design problems most efficiently. Each pattern describes the circumstances in which it is applicable, when it can be applied in view of other design constraints, and the consequences and trade-offs of using the pattern within a larger design. All patterns are compiled from real systems and are based on real-world examples. Each pattern also includes code that demonstrates how it may be implemented in object-oriented programming languages like C++ or Smalltalk.
Code Complete: A Practical Handbook of Software Construction Skybridge Goodreads Douban
author: Steve McConnell publishing house: Microsoft Press 2004 - 6 other title: Code Complete
Widely considered one of the best practical guides to programming, Steve McConnell’s original code complete has been helping developers write better software for more than a decade. Now this classic book has been fully updated and revised with leading-edge practices—and hundreds of new code samples—illustrating the art and science of software construction. Capturing the body of knowledge available from research, academia, and everyday commercial practice, McConnell synthesizes the most effective techniques and must-know principles into clear, pragmatic guidance. No matter what your experience level, development environment, or project size, this book will inform and stimulate your thinking—and help you build the highest quality code.
Discover the timeless techniques and strategies that help you:
The Cathedral and the Bazaar Douban
author: Eric Steven Raymond publishing house: O'Reilly Media 1999
《大教堂与市集》(The Cathedral and the Bazaar)是埃里克·斯蒂芬·雷蒙(Eric Steven Raymond)所撰写的软件工程方法论。以Linux的核心开发过程以及作者自己主持开发的开放原始码软件──Fetchmail为讨论案例。文章在1997年5月27日发表,并在1999年出版成书。
本书讨论两种不同的自由软件开发模式︰
大教堂模式(The Cathedral model)︰原始码在本模式是公开的,但在软件的每个版本开发过程是由一个专属的团队所控管的。作者以GNU Emacs及GCC这两软件为例。
市集模式(The Bazaar model)︰原始码在本模式也是公开的,不过却是放在因特网上供人检视及开发。作者以Linux核心的创始者林纳斯·托瓦兹带领Linux核心的开发为例,亦引用fetchmail的开发为例。
这篇文章的要义是让够多人看到原始码,错误将无所遁形(Given enough eyeballs, all bugs are shallow)。作者表示大教堂模式的软件开发让程序除错的时间大幅增加,因为只有少数的开发者可参与修改工作。市集模式则相反。
此文让大部份的开放原始码及自由软件的开发计划采用市集模式,甚至原来采用大教堂模式的 GNC Emacs 及 GCC 也是如此。Netscape 网页浏览器后来释出原始码,并启动Mozilla计划,也或多或少受到这篇文章的启发。
大教堂与市集也被延伸到非电脑软件的开发上面。例如维基百科就是市集模式,而Nupedia与大英百科全书就是大教堂模式。
欧莱礼出版社于1999年发行此书的创举是,首次商业印刷出版的书以Creative Commons授权模式出版。
本书(原文)的国际标准书号是 ISBN 1565927249(精装本)、ISBN 0596001088(平装本)。
Sept. 3, 2014 read
受益匪浅!作者用自己开发fetchmail的示例来展示市集化开发的方法和特点,其中大量经验值得反复咀嚼!(《人月神话》后又一本经典的经验宝书)
软件工程 开源
人月神话 NeoDB Douban Goodreads
The Mythical Man-Month: Essays on Software Engineering
author: [美] 弗雷德里克·布鲁克斯 translator: 汪颖 publishing house: 清华大学出版社 2002 - 11
作者为人们管理复杂项目提供了颇具洞察力的见解,既有很多发人深省的观点,也有大量的软件工程实践。书中的内容来自布鲁克斯在IBM公司System 360家族和OS 360中的项目管理经验。初版的20年后,布鲁克斯重新审视了他原先的观点,增加了一些新的想法和建议。新增加的章节包括:原著中一些核心观点的精华;在经过了一个时代以后,Brooks博士对原先观点新的认识;1986年的经典文章《没有银弹》;对1986年所下论断(在10年内不会出现银弹)现在的认识。
June 17, 2014 read
不能避免的焦油坑,不存在的银弹。真是,今天与30年前在项目管理上真是没什么差别。本书实在经验容量太大,不能啃透啊,看来以后还是得再看很多遍。
软件工程 项目管理