怎么读到这本书的
本书同《程序员的修炼之道》齐名。翻开看了两页,欲罢不能。
感想
作者真的可以称的上是程序员的良师益友了:手把手的教你怎么把这个工作干好了。举个例子,第九章里详细的说明了如何从写伪码开始一步一步把设计转换成代码。你生活/工作中碰到过这等贵人吗?没有的话赶紧翻开书读起来。对比《修炼》,本书有更多的细节,更多的支持结论的推导。
最大的收获是,看完了这本书以后,再看自己以前写的代码,有种“这样的代码怎么过的审?”的感觉😄
备忘
抄写一遍加深记忆:
- 架构不应该包含任何对你而言难理解的东西。你就是那个实现架构的人:如果你自己都不懂,那怎么实现?
- 架构应该包含多个视角/视图...以帮助程序员完整的理解系统的设计。
- 假如你正在编写一个新系统,其中用到很多设计不佳的旧代码,这时你就应该为新系统编写一个负责同旧代码交互的层,以便于:1. 把低劣代码禁闭起来;2. 重构旧代码时,不必修改除了交互层以外的新代码。
- 你可以把子系统之间的连线当成水管,这样把系统的架构设计成这样:如果想把一个取走重用时,不用重新连接太多水管,重新连接起来也不会太难。
- 在编码层能为性能目标所做的最好准备,便是做出高度模块化的设计来。等日后找出了性能瓶颈,你就可以针对个别的类或者子程序进行优化而不会影响到系统的剩余部分了。
- 我几乎没有遇到因为做的太多设计而受损害的项目。
- 请把设计看成是一个险恶的,杂乱的和启发式的过程。不要停留在你所想到的第一套解决方案,而是去寻求合作,探求简洁性,在需要的时候做出原型,迭代,并进一步迭代。
- 一套推荐阵容,通过它们可以获取高于平均水平的质量:
- 对所有需求,架构以及系统关键部分的设计进行正式检查。
- 建模或者创建模型。
- 代码审查。
- 测试。
怎么读这本书
书有点厚,但是翻译的很好。我几乎没有碰到过需要去对照原版的地方。