欢迎来到相识电子书!
A Philosophy of Software Design

A Philosophy of Software Design

作者:John Ousterhout

分类:科技

ISBN:9781732102200

出版时间:2018-4-6

出版社:Yaknyam Press

标签: 编程 

内容简介

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

下载说明

1、A Philosophy of Software Design是作者John Ousterhout创作的原创作品,下载链接均为网友上传的网盘链接!

2、相识电子书提供优质免费的txt、pdf等下载链接,所有电子书均为完整版!

下载链接

热门评论

  • larrylv的评论
    同组的斯坦福小伙大学时上过作者的课,强烈推荐了本书。书虽薄了些,但收获不小。
  • ggarlic的评论
    前半本有些观点跟我的观点不一致,但却很有启发,值五星。后半本更多的是工程角度,在别的书中见过类似观点。
  • M. Tong的评论
    神作啊。简直字字珠玑。
  • Nova的评论
    写好代码的最佳标准就是降低复杂性。解决复杂性的时候需要引入一些投资理念,很多看起来提高复杂性的方法长远来看反而降低了复杂性。比如作者推崇合理的代码注释,甚至先写注释再写代码,这样可以更合理地设计整个项目的了逻辑,降低总体风险。
  • ShD的评论
    非常好的小书 Create Deep module!! Write comments for abstraction and precision!! More to update
  • 对我就是那个谁的评论
    模块划分是一门艺术。这不是一本讲述了严格规则的书,每个人看过之后可能都会有所得,但能拿走多少就看个人悟性。你可以不同意这本书的很多理念,但不能否认它的启发性。
  • ye11ow的评论
    引用最后一章第一句话:This book is about one thing: complexity。虽然标题里带有"philosophy",但其实书里介绍的大部分内容还是挺直觉。关于异常和注释的两章反而让我收获最多
  • coolwaterld的评论
    感觉悟到了很多,又有很多抓不住,能实践的更少,但确实改变了我对软件设计的很多错误认识,值得一读
  • 王金雷的评论
    关于如何控制软件复杂度,作者的很多真知灼见非常好。
  • Adadada的评论
    这是一本很适合编程入门者的软件工程最佳实践方面的书
  • 一坪的海岸线的评论
    目录层级可以再深一点,以体现不同章节之间的联系。 非常好的书,值得多读两次
  • 逸水流觞的评论
    前半本五星推荐
  • 豆花鱼的评论
    喜欢这本书道理写在前然后举例说明的讲解方式,很好读,有一些帮助。
  • Kymair的评论
    倒还谈不上philosophy, 算是principles吧 好的封装应该是“深”的。敏捷以及测试驱动开发果然在大牛圈是不那么受待见的,他们崇尚前期有更充分的思考和设计。 Design around the critical path是很实用的建议。一开始先判断是否是special case, 而后一马平川。
  • ewon的评论
    重点看了前面10章,特别是关于软件复杂性方面。感受比较深的几点是: 1.对抗复杂性的两个方法:代码简洁和封装。 keep these in mind when programming. 2. 尽量战略性编程,而不是战术性编程 3. module设计要有深度, 接口少而简单。less is more。 让复杂性下沉 4. 尽量减少module之间的依赖关系 5. 不同层,不同抽象。 Design it twice 6. 注释应该包含设计者不能在代码(接口)中表达出来的信息。代码和注释是写给别人看的 7. Agile推崇的渐进式开发的应该是抽象,而不是功能
  • 秋明的评论
    降低复杂度,less is more
  • yvetterowe的评论
    #道理都懂然鹅系列
  • poringking的评论
    说到底就一句话,多设计
  • 青果儿的评论
    前15章和第20章学到很多经验
  • Valiant的评论
    different perspective of view but make sense