This book addresses the topic of software design: how to decompose complex software systems into modules (such as classes and methods) that can be implemented relatively independently. The book first introduces the fundamental problem in software design, which is managing complexity. It then discusses philosophical issues about how to approach the software design process, and it presents a collection of design principles to apply during software design. The book also introduces a set of red flags that identify design problems. You can apply the ideas in this book to minimize the complexity of large software systems, so that you can write software more quickly
##短小精悍,字字珠玑。
评分##引用最后一章第一句话:This book is about one thing: complexity。虽然标题里带有"philosophy",但其实书里介绍的大部分内容还是挺直觉。关于异常和注释的两章反而让我收获最多
评分##"The first is to describe the nature of software complexity ... The book’s second, and more challenging, goal is to present techniques you can use during the software development process to minimize complexity."/"...the increments of development should be abstraction, not features..."/这本书着重强调软件系统设计的目标是控制住系统内部的复杂度。比较少讨论功能和性能。
评分写好代码的最佳标准就是降低复杂性。解决复杂性的时候需要引入一些投资理念,很多看起来提高复杂性的方法长远来看反而降低了复杂性。比如作者推崇合理的代码注释,甚至先写注释再写代码,这样可以更合理地设计整个项目的了逻辑,降低总体风险。
评分##非常好的书,可以说是字字珠玑。作者非常简明扼要,先讲原则,再加入具体的例子,层层深入,而且每个原则都强调了不能过度使用,特别强调怎么平衡不同的原则,但总体都以降低复杂性为目的。有些原则和tdd或者clean code不太一样,但感觉更有见地一些。
评分##复杂度
评分##神书,开发人员必读书籍,尤其是前半本,字字珠玑。9.5
评分##全英文的还是啃完了,佩服自己。
评分##提供了一些新的视角,有借鉴意义。
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.teaonline.club All Rights Reserved. 图书大百科 版权所有