TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Notes on “A Philosophy of Software Design”

124 点作者 r4um超过 6 年前

10 条评论

DonaldFisk超过 6 年前
John Ousterhout: &quot;It&#x27;s more important for a module to have a simple interface than a simple implementation.&quot;<p>Richard P. Gabriel in <a href="http:&#x2F;&#x2F;dreamsongs.com&#x2F;WIB.html" rel="nofollow">http:&#x2F;&#x2F;dreamsongs.com&#x2F;WIB.html</a> : &quot;Simplicity -- the design must be simple, both in implementation and interface. It is more important for the interface to be simple than the implementation.&quot;<p>Ousterhout here is advocating The Right Thing, as opposed to Worse is Better. Unfortunately Worse is Better has become the dominant approach and it will be difficult to change that.
评论 #17910063 未加载
评论 #17910227 未加载
antirez超过 6 年前
I want to politely disagree with the comments here telling that this book should be categorized as a &quot;undergrads book&quot;. This is a way to neutralize the content of the book for a broader audience, that is, we are doing everything wrong in most software development environments.<p>Moreover the author commits a big mistake in saying that Google is a good example of clean software design. Talk with people inside the company to get a real picture, it&#x27;s full of monsters that you have to maintain just with &quot;tactical programming&quot;. This book is very well applicable inside Google as well.
评论 #17908983 未加载
lixtra超过 6 年前
I saw some reviews that claim the books just presents common knowledge. Keep in mind it is aimed at undergrads.<p>I personally think the author is to harsh on &quot;tactical programming&quot; (solving problems locally without the big picture in mind). I agree with someones note on HN that tactical programming is fine till you get a product market fit. Technical debt has not to be paid back if the product fails.<p>I try to design strategically for overall architecture and don&#x27;t care for most of the rest (in worst case you can refactor later).<p>If 9 out of 10 startups fail you can have huge savings. If you have enough success that it matters then you have the resources to improve.
评论 #17908446 未加载
评论 #17907537 未加载
planetmcd超过 6 年前
This was a fantastic book. It is definitely not for undergrads, or just undergrads. I think it even more important for people actually working on production systems. Even better, it provides some language for people to share when doing code review about how to design their APIs better.
_pmf_超过 6 年前
I&#x27;ve found this book to be a nice antidote to the damage done by excessive Uncle Bobbing. I.e. if you give your undergrads &quot;Clean code&quot;, also give them this book to prevent them from becoming mechanical DRYers who think good code equals avoiding duplication.
评论 #17912159 未加载
SCdF超过 6 年前
Side note: I find it really weird that a book about software design released in this day and age has no plans for an ebook edition[1].<p>I&#x27;ve had this book on my radar since it came out, but no library near me is going to stock it, and I just don&#x27;t have the space in my tiny apartment for books unless they are very important to me.<p>[1] <a href="https:&#x2F;&#x2F;twitter.com&#x2F;JohnOusterhout&#x2F;status&#x2F;989581205799452672" rel="nofollow">https:&#x2F;&#x2F;twitter.com&#x2F;JohnOusterhout&#x2F;status&#x2F;989581205799452672</a>
评论 #17908833 未加载
评论 #17913522 未加载
评论 #17908218 未加载
yumaikas超过 6 年前
I&#x27;ve yet to finish this book yet, but it&#x27;s definitely not just for undergrads. There is a lot of things in it that seem obvious when stated, but are either good reminders, or genuinely well stated language for a domain.<p>One example that stands out to me is deep vs shallow classes.
thra018超过 6 年前
This [1]post on Reddit says something similar and really is true. Most of us engineers tend to neglect design. The fusion of good code and good design can set you up for success (after product market dit obviously)<p><a href="https:&#x2F;&#x2F;www.reddit.com&#x2F;r&#x2F;Entrepreneur&#x2F;comments&#x2F;9ay8fq&#x2F;design_helps_software_companies_grow&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.reddit.com&#x2F;r&#x2F;Entrepreneur&#x2F;comments&#x2F;9ay8fq&#x2F;design...</a>
评论 #17907445 未加载
评论 #17907655 未加载
hodgesrm超过 6 年前
I use &#x27;A Philosophy of Software Design&#x27; as my goto-list for reviewing pull requests. It has a great set of points that apply across a wide variety of applications.
huntie超过 6 年前
The author gave a talk on this book at Google recently: <a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=bmSAYlu0NcY" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=bmSAYlu0NcY</a>