最近业余时间都在看书。看到几本不错的书,与之前看过的同类主题的一起推荐给需要的读者朋友。
这些书都有一个特点,教我们组织好软件项目,写好代码。与具体的技术和语言无关。正因为如此,他的价值才是永恒的。
1. 计算机程序的构造和解释
本书关注点是怎么样构造程序,构造抽象模型。从电路到解释器,全链路教学。她的描述语言是lisp方言之scheme。不是那么容易读懂,但是一旦读懂了就会有美学上的享受。
- 5星🌟🌟🌟🌟🌟
2. 重构:改善既有代码的设计
本书只关注代码的微观层面,每一行代码如何写好,如何讲不好的代码重构成好的代码。程序员的工作中,每天都要重构,不是别人的就是自己的。这本书教的实在是太实用了。本书第二版使用javascript语言描述,毕竟javascript是披着c语言外衣的lisp。希望读者向作者一样,保持耐心,也具有工匠精神。你的付出会有超额回报的。
- 5星🌟🌟🌟🌟🌟
3. 设计模式:可复用面向对象软件的基础
这也是一本名著,23三个设计模式,GoF。本书主要关注OO设计时对象的交互关系。学会这本书,
- 1,可以教你写出好的代码
- 2,你再去阅读著名的开源代码或者标准库的时候就非常熟悉他们的结构了。
- 3,与同事沟通的时候可以使用模式名称(更高层抽象)沟通设计。
模式无处不在,我来自农村,老家的房屋结构几乎都一样。因为乡亲没啥创造力,都遵循一个单一的模式。你写代码时,没有经验和创造力,就可能写出单一模式的代码,这本书让你快速进入模式境界。
结合第二本,不要拘泥于模式,你讲无往而不利
- 5星🌟🌟🌟🌟🌟
4. 数据密集型应用系统设计
本书专注于软件架构,现在大部分应用系统都是数据密集型
的,这本书关注这些数据的流动和数据的存储模式,只有这个架构确定了以后,才能开始编码方面的任务。本书属于更加高视野的层次看应用系统。前面的部分很有洞察。个人观点有点烂尾。
- 4星🌟🌟🌟🌟
5. 代码大全
本书是软件工程层面的。关注的东西更加广阔,所以本书中文版本有960页。有非常可信的软件工程数据支撑。作为开发人员,感觉没有前三本的作用那么直接,那么明显。不过依然非常值得一看。
- 4星🌟🌟🌟🌟
总结
以上五本书,列出的顺序根据他的覆盖范围定,也是我的偏爱推荐顺序。作为一个负责任的推荐人,这些书我都完整看过的。当然看书学习是要靠悟性的,跟我的偏好不一样也是正常的。
be happy