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
John Ousterhout is the Bosack Lerner Professor of Computer Science at Stanford University. His current research focuses on new software stack layers to allow datacenter applications to take advantage of communication and storage technologies with microsecond-scale latencies. Ousterhout's prior positions include 14 years in industry, where he founded two companies (Scriptics and Electric Cloud), preceded by 14 years as Professor of Computer Science at U.C. Berkeley. He is the creator of the Tcl scripting language and is also well known for his work in distributed operating systems and storage systems. Ousterhout received a BS degree in Physics from Yale University and a PhD in Computer Science from Carnegie Mellon University. He is a member of the National Academy of Engineering and has received numerous awards, including the ACM Software System Award, the ACM Grace Murray Hopper Award, the National Science Foundation Presidential Young Investigator Award, and the U.C. Berkeley Distinguished Teaching Award.
最近刚读完的一本书,书名里面带有philosophy,其实大可不必惊慌,这本书的核心就是关于软件设计中的复杂度。 作者开门见山提出了本书的两个目标,一个是讲述复杂度的各种特点,另外进一步的目标就是介绍减小软件设计复杂度的各种方法和技巧。 这本书页数不多,一个周末就读完...
評分减少软件复杂度是本书的主题,为此作者提出了模块深度的概念,并从该角度对编程中的种种进行了分析。 第四章 Modules Should Be Deep是比较核心的一个章节,我把它的主要内容翻译成了中文,文章是《 软件设计之Deep Module(深模块)》,欢迎阅览和指正。 有人说书中不少内容是...
評分减少软件复杂度是本书的主题,为此作者提出了模块深度的概念,并从该角度对编程中的种种进行了分析。 第四章 Modules Should Be Deep是比较核心的一个章节,我把它的主要内容翻译成了中文,文章是《 软件设计之Deep Module(深模块)》,欢迎阅览和指正。 有人说书中不少内容是...
評分最近刚读完的一本书,书名里面带有philosophy,其实大可不必惊慌,这本书的核心就是关于软件设计中的复杂度。 作者开门见山提出了本书的两个目标,一个是讲述复杂度的各种特点,另外进一步的目标就是介绍减小软件设计复杂度的各种方法和技巧。 这本书页数不多,一个周末就读完...
評分最近刚读完的一本书,书名里面带有philosophy,其实大可不必惊慌,这本书的核心就是关于软件设计中的复杂度。 作者开门见山提出了本书的两个目标,一个是讲述复杂度的各种特点,另外进一步的目标就是介绍减小软件设计复杂度的各种方法和技巧。 这本书页数不多,一个周末就读完...
引用最後一章第一句話:This book is about one thing: complexity。雖然標題裏帶有"philosophy",但其實書裏介紹的大部分內容還是挺直覺。關於異常和注釋的兩章反而讓我收獲最多
评分模塊劃分是一門藝術。這不是一本講述瞭嚴格規則的書,每個人看過之後可能都會有所得,但能拿走多少就看個人悟性。你可以不同意這本書的很多理念,但不能否認它的啓發性。
评分倒還談不上philosophy, 算是principles吧 好的封裝應該是“深”的。敏捷以及測試驅動開發果然在大牛圈是不那麼受待見的,他們崇尚前期有更充分的思考和設計。 Design around the critical path是很實用的建議。一開始先判斷是否是special case, 而後一馬平川。
评分前半本有些觀點跟我的觀點不一緻,但卻很有啓發,值五星。後半本更多的是工程角度,在彆的書中見過類似觀點。
评分寫好代碼的最佳標準就是降低復雜性。解決復雜性的時候需要引入一些投資理念,很多看起來提高復雜性的方法長遠來看反而降低瞭復雜性。比如作者推崇閤理的代碼注釋,甚至先寫注釋再寫代碼,這樣可以更閤理地設計整個項目的瞭邏輯,降低總體風險。
本站所有內容均為互聯網搜索引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度,google,bing,sogou 等
© 2025 book.quotespace.org All Rights Reserved. 小美書屋 版权所有