详情¶
编码实践¶
代码整洁之道:程序员的职业素养(Clean Coder):
几乎覆盖了如何把代码写好的方方面面
对大多数程序员最重要的一点建议是,说 “不”
实现模式:
一本关于如何写好代码的书,更具体一点是,编写别人能够理解的代码。
它的作者 Kent Beck 是许多软件开发实践的开创者。
但 Kent Beck 的写作能力一般,他的很多作品被埋没了。
只有细细品味,才能体会到 Kent Beck 深厚的功力
程序设计实践:
The Practice of Programming这本书的作者是 Brian Kernighan 和 Rob Pike,
这两个人都出身于大名鼎鼎的贝尔实验室,参与过 Unix 的开发
卓有成效的程序员:
从日常开发中提升自己的效率
这本书里的技巧太具体了,所以,有一些已经有些过时了
计算机程序设计艺术:
高德纳
如果学算法,肯定有更好的选择。
如果你想看图灵奖获得者如何从根上思考问题,不妨找来这套书来翻翻
快速软件开发(Rapid Development):
不推荐阅读
作者首次提出了解决集成问题的优秀实践:Daily Build,每日构建
C 程序设计语言:
贝尔实验室大师级程序员
Unix 编程环境:
贝尔实验室大师级程序员
设计模式¶
敏捷软件开发:原则、实践与模式:
Robert Martin
1995 年,提出了SOLID这些设计原则的雏形
之后在这本书中,比较完整地阐述了这五个原则,后来,他有把这些原则进一步整理,成了今天的 “SOLID”。
架构整洁之道(Clean Architecture):
2017 年,Robert Martin
这是一本关于设计的书,给出了 Robert Martin 对设计的最新理解。
可以把它看成《敏捷软件开发:原则、实践与模式》的修订版
企业应用架构模式:
Martin Fowler
将软件开发当时常见的解决方案汇集成模式,今天看来很多模式已经习以为常,但当年出场可是技惊四座的。
从这本书的名字你不难看出,它出版的年代是企业级开发盛行的年代。
Martin Fowler 一直认为这本书没有写完,希望能够继续更新
设计模式:
不推荐阅读
它是设计模式的开山之作,
但它的起点是 Erich Gamma 的博士论文,其写作风格偏向学术,而且中文版翻译得也很一般。
这里将它罗列出来只是因为其历史重要性
Head First 设计模式:
相比《设计模式》更容易入门的书
Unix 编程艺术:
Eric Raymond
也是一本讲软件设计的书,只不过,它选择的切入点是 Unix 中的设计
从中你可以学到 “只做一件事,把它做好”、“文本化” 等编程理念,有助于你改善日常的工作
工程实践¶
解析极限编程(Extreme Programming Explained):
Kent Beck
介绍了一种软件开发方法:极限编程。
但更重要的是,今天很多主流的软件开发最佳实践都是从这里出来的。
这本书可以理解成诸多最佳工程实践的总纲
重构:改善既有代码的设计(Refactoring: Improving the Design of Existing Code):
1999 年, Martin Fowler
把重构这个小圈子实践带到了大众视野
2018 年底,又写出了《重构》第二版
把他对这些年行业发展的新理解融入到重构实践中。
重构应该有个目标,这个目标就是 “重构成模式”
重构与模式(Refactoring to Patterns):
重构与模式
测试驱动开发:
Kent Beck 为世人展示 TDD 做法的一本书。
它好的地方需要自己体会,Kent Beck 并没有显式的讲出来,比如:任务分解
持续交付(Continuous Delivery):
Jez Humble 和 Dave Farley
让持续集成再进一步,将生产环境纳入了考量
乔梁,《持续交付》的中文版译者
在出版近十年后,他自己写了《持续交付 2.0》,把自己多年来关于持续交付的新理解整理了进去
修改代码的艺术(Working Effectively with Legacy Code):
Michael Feathers
一本关于遗留代码的书。如果你打算处理遗留代码,也建议你读读这本书
领域驱动设计¶
领域驱动设计:
2003 年,Eric Evans
这本关于 DDD 的开山之作,其写作质量却难以恭维,想要通过它去学好 DDD,是非常困难的。
所以,在国外的技术社区中,有很多人是通过各种交流讨论逐渐认识到 DDD 的价值所在
实现领域驱动设计:
Vaughn Vernon
太厚
领域驱动设计精粹:
Vaughn Vernon
可以快速上手 DDD,是学习 DDD 的首选
产品与需求¶
精益创业:
2011 年,Eric Ries
精益创业实战:
Mike Cohn
Scrum 敏捷软件开发(Succeeding with Agile):
Mike Cohn
两大流派:一派是工程实践,另一派是管理实践
用户故事与敏捷方法(User Stories Applied):
Mike Cohn
用户故事
敏捷软件开发实践 估算与计划(Agile Estimating and Planning):
Mike Cohn
用户故事
开发文化¶
人月神话:
1975 年,Eric Raymond(开源概念的提出者)
软件开发领域第一本反思之作
大教堂与集市:
推开了开源大门
管理¶
卓有成效的管理者:
彼得・德鲁克
这是一本告诉我们如何工作的书
高效能人士的七个习惯:
史蒂芬・柯维(Stephen Richards Covey)
以终为始
优先级
心流:
哈里・契克森米哈赖
作者就是心流概念的提出者
科幻小说¶
三体:
刘慈欣
银河帝国:
1942 年,阿西莫夫
其他相关¶
人类简史:
尤瓦尔・赫拉利
大历史观
未来简史:
尤瓦尔・赫拉利
从一到无穷大:
1947 年,乔治・伽莫夫
一本著名科普著作,它向我们介绍了 20 世纪以来的科学进展。
作者既是热宇宙大爆炸模型的提出者,也是生物学上最早提出 “遗传密码” 模型的人