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.
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
寫好代碼的最佳標準就是降低復雜性。解決復雜性的時候需要引入一些投資理念,很多看起來提高復雜性的方法長遠來看反而降低瞭復雜性。比如作者推崇閤理的代碼注釋,甚至先寫注釋再寫代碼,這樣可以更閤理地設計整個項目的瞭邏輯,降低總體風險。
評分 評分##提供瞭一些新的視角,有藉鑒意義。
評分##最近剛讀完的一本書,書名裏麵帶有philosophy,其實大可不必驚慌,這本書的核心就是關於軟件設計中的復雜度。 作者開門見山提齣瞭本書的兩個目標,一個是講述復雜度的各種特點,另外進一步的目標就是介紹減小軟件設計復雜度的各種方法和技巧。 這本書頁數不多,一個周末就讀完...
評分##非常好的書,可以說是字字珠璣。作者非常簡明扼要,先講原則,再加入具體的例子,層層深入,而且每個原則都強調瞭不能過度使用,特彆強調怎麼平衡不同的原則,但總體都以降低復雜性為目的。有些原則和tdd或者clean code不太一樣,但感覺更有見地一些。
評分##神作啊。簡直字字珠璣。
評分##1. complexity is incremental:you have to sweat the small stuff 2. working code isn’t enough 3. make continual small investments to improve system design 4. interfaces should be designed to make the most common usage as soon as possible 5.module should be d...
評分##半年前從一位朋友那裏藉瞭一本他還沒讀完的<A Philosophy of Software Design>,自己一直沒讀。十一期間花瞭3天時間斷斷續續的看完,這本書對我最有用的部分是其在增訂版中對 <Clean Code> 中一些觀點的反對,其實軟件工程這門學科還很年輕,雖然有一些大多數人贊...
本站所有內容均為互聯網搜尋引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度,google,bing,sogou 等
© 2025 windowsfront.com All Rights Reserved. 靜流書站 版權所有