CategoryResourceRepost/极客时间专栏/设计模式之美/不定期加餐/加餐二 | 设计模式、重构、编程规范等相关书籍推荐.md
louzefeng d3828a7aee mod
2024-07-11 05:50:32 +00:00

76 lines
7.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<audio id="audio" title="加餐二 | 设计模式、重构、编程规范等相关书籍推荐" controls="" preload="none"><source id="mp3" src="https://static001.geekbang.org/resource/audio/e4/17/e48d8826dd25f67143ce4c74d53e4117.mp3"></audio>
有关设计模式、重构、编程规范等的经典书籍很多,有很多你应该已经听说过、甚至看过。今天,我就结合我的经验,对这些书籍进行一个整理和点评。你可以据此来选择适合你的书籍,结合着专栏一块儿来学习,这样学习效果会更好。
### 1.《设计模式》
<img src="https://static001.geekbang.org/resource/image/1d/ab/1deb18c033909ca544195435696e1aab.png" alt="">
学习设计模式不知道GoF的《设计模式》估计会被人笑话的。这本书是设计模式的开山之作。经典的23种设计模式最早就诞生于这本书。这本书很薄只有200多页。但是我个人觉得这本书还是比较晦涩难懂的。回想起来我在读大学的时候就读过几遍此书但每次都是一知半解读一遍忘一遍。如果你是设计模式的初学者不建议从这本书看起。如果你对设计模式已经有所了解还是蛮推荐你去看下这本经典书的。
### 2.《Head First设计模式》
<img src="https://static001.geekbang.org/resource/image/32/2d/32bf8494047fbdcf4fb1acb0cb1b4f2d.png" alt="">
如果说刚刚提到的《设计模式》是最经典的设计模式书籍那《Head First设计模式》就是最通俗易懂的。这本书看起来很厚但每页里的内容并没有那么密集。这本书最大的特点就是口语化、场景化。整本书围绕几个人的对话来展开。里面的例子比较脱离实践但比较容易看懂。如果你之前对设计模式没有太多了解这本书无疑是你的首选。
### 3.《Java与模式》
<img src="https://static001.geekbang.org/resource/image/69/0e/6996f3e8c094051d44e94bbbbb94f60e.png" alt="">
这本书可能并没有那么多人知道出版的时间也比较久远而且是跟Java语言比较紧耦合里面很多例子都是在剖析JDK里的设计模式。不过这可能是最贴近实战的一本设计模式书籍了里面包含的实战案例应该是目前我读过的设计模式书籍中最多的。不过我个人觉得文笔稍微有些晦涩有些内容可能要反复读一下才能理解。如果你熟悉Java语言在我推荐的其他书籍都看完的前提下没事的时候可以看看这本书。
### 4.《深入浅出面向对象分析与设计》
<img src="https://static001.geekbang.org/resource/image/25/a4/25ef700c48d79b68b994ebab67fb8fa4.png" alt="">
这本书跟《Head Frist设计模式》都是出自“Head First”系列写作风格也相同不过也略显啰嗦。从书名中我们就可以看出这本书主要是讲面向对象分析和设计。实际上很多关于面向对象分析和设计书籍都侧重讲UML讲得真的好的书籍却并不多。除此之外我觉得面向对象分析和设计的理论知识并不多关键还是实践。所以如果你工作比较忙看我的专栏就足够了。如果你特别想系统地学一下的话看看这本书也完全足够了。
### 5.《代码大全》
<img src="https://static001.geekbang.org/resource/image/66/a8/6612c56e4d5f1d67ecd678d9810938a8.png" alt="">
这是一本有近千页大部头。不过,这本书讲的东西很杂,不是很聚焦,涵盖了软件开发方法、编程技巧、编码规范、重构等等诸多方面。书如其名,这本书其实更像是软件开发方面的工具类的百科全书。在读过我推荐的其他书籍之后,这本书快速地翻一遍就可以了。
### 6.《代码整洁之道》
<img src="https://static001.geekbang.org/resource/image/09/47/09063c31913414e8c93fb5469fea7f47.png" alt="">
这本书非常值得推荐。它主要是讲编码规范,除此之外,还讲到了一些有关设计原则、单元测试、并发编程的东西。因为内容比较侧重编码规范,所以每个知识点都非常明确,能够很容易落地指导你的开发,能够立竿见影地改善你的代码质量。
### 7.《编写可读代码的艺术》
<img src="https://static001.geekbang.org/resource/image/a0/91/a07e5ed7549e272055c0730821431491.png" alt="">
从书名我们就可以看出,本书主要是教你如何写出可读性好的代码,实际上也是在讲比较偏向细节的编码规范。它的内容跟《代码整洁之道》有部分重复,但是推荐你也看一下。《代码整洁之道》《代码大全》《编写可读代码的艺术》三本书是讲编码规范方面的三大著作。看完这三本书,基本的编码规范你就掌握全了。
### 8.《重构》
<img src="https://static001.geekbang.org/resource/image/ac/02/ac08ba290bdb1081f5f0efa1deab2502.png" alt="">
这本书的作者是Martin Fowler他写了很多跟软件开发相关的经典书籍。这本《重构》无疑是他最经典的作品。书中讲到了诸多代码的坏味道并且给出了相应的改进方法是作者一手开发经验的总结输出。我推荐本书的原因倒不是说书里面的内容有多真知灼见、让人耳目一新而是这本书的内容总结得非常全面很适合帮你去做一个整体、系统的梳理。
### 9.《重构与模式》
<img src="https://static001.geekbang.org/resource/image/01/d1/011c721627e3fa1c7b0ea5230a42f9d1.png" alt="">
我们之前讲过,设计模式一个重要的应用场景就是代码重构。这本书主要讲如何应用设计模式来重构代码,改善代码设计。如果说《重构》是讲如何做低层次的重构,那这本书就是在讲如何做高层次的重构,也就是我们专栏中要讲到的小重构和大重构。这本书非常推荐你读一下,它能让你知道,为什么要用设计模式,如何有的放矢地应用设计模式,而非只是无痛呻吟。
### 10.《修改代码的艺术》
<img src="https://static001.geekbang.org/resource/image/c2/f7/c25b98e63f7fef3f8c12a972b2ac62f7.png" alt="">
如果说《重构》那本书是从编码规范上来讲如何重构《重构和模式》是从设计模式上来讲如何重构那这本书可以粗鲁地归为从面向对象设计思想、设计原则上来讲重构。除此之外这本书更偏向于教你如何来重构不像上面两本书那样聚焦所以是一个很好的补充。这三本书合起来称为重构“三部曲”。这本书的示例代码是用C++写的,不过也很容易看懂,很推荐你读一下。
## 总结
今天的加餐内容就这些,我来稍微总结回顾一下推荐的书籍。这些书我基本上都看过,并且很多都看了好几遍,如果你时间宽裕,想要真正掌握写出优秀代码的能力,非常推荐你认真看一下,相信会对你有非常大的帮助。
<img src="https://static001.geekbang.org/resource/image/5d/41/5dd01ae60a6b904756492f4aecd4d041.png" alt="">
## 课堂讨论
我罗列的书籍中,你读过哪几本?哪一本或者几本对你影响最大?除了我罗列的这些,还有哪些书籍你觉得值得推荐?
欢迎在留言区写下你的答案,和同学一起交流和分享。如果有收获,也欢迎你把这篇文章分享给你的朋友。