gball个人知识库
首页
基础组件
基础知识
算法&设计模式
  • 操作手册
  • 数据库
  • 极客时间
  • 每日随笔
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
  • 画图工具 (opens new window)
关于
  • 网盘 (opens new window)
  • 分类
  • 标签
  • 归档
项目
GitHub (opens new window)

ggball

后端界的小学生
首页
基础组件
基础知识
算法&设计模式
  • 操作手册
  • 数据库
  • 极客时间
  • 每日随笔
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
  • 画图工具 (opens new window)
关于
  • 网盘 (opens new window)
  • 分类
  • 标签
  • 归档
项目
GitHub (opens new window)
  • 面试

  • 数据库

  • linux

  • node

  • tensorFlow

  • 基础组件

  • 基础知识

  • 算法与设计模式

  • 分布式

  • 疑难杂症

  • go学习之旅

  • 极客时间

    • 设计模式之美

      • 开篇词 (1讲)

      • 设计模式学习导读 (3讲)

      • 设计原则与思想:面向对象 (11讲)

      • 设计原则与思想:设计原则 (12讲)

      • 设计原则与思想:规范与重构 (11讲)

      • 设计原则与思想:总结课 (3讲)

      • 设计模式与范式:创建型 (7讲)

      • 设计模式与范式:结构型 (8讲)

      • 设计模式与范式:行为型 (18讲)

      • 设计模式与范式:总结课 (2讲)

      • 开源与项目实战:开源实战 (14讲)

      • 开源与项目实战:项目实战 (9讲)

      • 开源与项目实战:总结课 (2讲)

      • 不定期加餐 (11讲)

        • 用一篇文章带你了解专栏中用到的所有Java语法
        • 设计模式、重构、编程规范等相关书籍推荐
          • 1.《设计模式》
          • 2.《HeadFirst设计模式》
          • 3.《Java与模式》
          • 4.《深入浅出面向对象分析与设计》
          • 5.《代码大全》
          • 6.《代码整洁之道》
          • 7.《编写可读代码的艺术》
          • 8.《重构》
          • 9.《重构与模式》
          • 10.《修改代码的艺术》
          • 总结
          • 课堂讨论
          • 精选评论
        • 聊一聊Google是如何做CodeReview的
        • 聊一聊Google那些让我快速成长的地方
        • 听一听小争哥对Google工程师文化的解读
        • 什么才是所谓的编程能力?如何考察一个人的编程能力?
        • 基础学科的知识如何转化成实际的技术生产力?
        • 程序员怎么才能让自己走得更高、更远?
        • 作为面试官或候选人,如何面试或回答设计模式问题?
        • 如何接手一坨烂业务代码?如何在烂业务代码中成长?
        • 王争:如何学习《设计模式之美》专栏?
      • 结束语 (1讲)

    • Redis核心技术与实战

设计模式、重构、编程规范等相关书籍推荐

# 加餐二 | 设计模式、重构、编程规范等相关书籍推荐

有关设计模式、重构、编程规范等的经典书籍很多,有很多你应该已经听说过、甚至看过。今天,我就结合我的经验,对这些书籍进行一个整理和点评。你可以据此来选择适合你的书籍,结合着专栏一块儿来学习,这样学习效果会更好。

# 1.《设计模式》

图片

学习设计模式,不知道GoF的《设计模式》估计会被人笑话的。这本书是设计模式的开山之作。经典的23种设计模式最早就诞生于这本书。这本书很薄,只有200多页。但是,我个人觉得,这本书还是比较晦涩难懂的。回想起来,我在读大学的时候,就读过几遍此书,但每次都是一知半解,读一遍忘一遍。如果你是设计模式的初学者,不建议从这本书看起。如果你对设计模式已经有所了解,还是蛮推荐你去看下这本经典书的。

# 2.《HeadFirst设计模式》

图片

如果说刚刚提到的《设计模式》是最经典的设计模式书籍,那《HeadFirst设计模式》就是最通俗易懂的。这本书看起来很厚,但每页里的内容并没有那么密集。这本书最大的特点就是口语化、场景化。整本书围绕几个人的对话来展开。里面的例子比较脱离实践,但比较容易看懂。如果你之前对设计模式没有太多了解,这本书无疑是你的首选。

# 3.《Java与模式》

图片

这本书可能并没有那么多人知道,出版的时间也比较久远,而且是跟Java语言比较紧耦合,里面很多例子都是在剖析JDK里的设计模式。不过这可能是最贴近实战的一本设计模式书籍了,里面包含的实战案例,应该是目前我读过的设计模式书籍中最多的。不过,我个人觉得文笔稍微有些晦涩,有些内容可能要反复读一下才能理解。如果你熟悉Java语言,在我推荐的其他书籍都看完的前提下,没事的时候可以看看这本书。

# 4.《深入浅出面向对象分析与设计》

图片

这本书跟《HeadFrist设计模式》都是出自“HeadFirst”系列,写作风格也相同,不过也略显啰嗦。从书名中我们就可以看出,这本书主要是讲面向对象分析和设计。实际上,很多关于面向对象分析和设计书籍都侧重讲UML,讲得真的好的书籍却并不多。除此之外,我觉得面向对象分析和设计的理论知识并不多,关键还是实践。所以,如果你工作比较忙,看我的专栏就足够了。如果你特别想系统地学一下的话,看看这本书也完全足够了。

# 5.《代码大全》

图片

这是一本有近千页大部头。不过,这本书讲的东西很杂,不是很聚焦,涵盖了软件开发方法、编程技巧、编码规范、重构等等诸多方面。书如其名,这本书其实更像是软件开发方面的工具类的百科全书。在读过我推荐的其他书籍之后,这本书快速地翻一遍就可以了。

# 6.《代码整洁之道》

图片

这本书非常值得推荐。它主要是讲编码规范,除此之外,还讲到了一些有关设计原则、单元测试、并发编程的东西。因为内容比较侧重编码规范,所以每个知识点都非常明确,能够很容易落地指导你的开发,能够立竿见影地改善你的代码质量。

# 7.《编写可读代码的艺术》

图片

从书名我们就可以看出,本书主要是教你如何写出可读性好的代码,实际上也是在讲比较偏向细节的编码规范。它的内容跟《代码整洁之道》有部分重复,但是推荐你也看一下。《代码整洁之道》《代码大全》《编写可读代码的艺术》三本书是讲编码规范方面的三大著作。看完这三本书,基本的编码规范你就掌握全了。

# 8.《重构》

图片

这本书的作者是MartinFowler,他写了很多跟软件开发相关的经典书籍。这本《重构》无疑是他最经典的作品。书中讲到了诸多代码的坏味道,并且给出了相应的改进方法,是作者一手开发经验的总结输出。我推荐本书的原因倒不是说书里面的内容有多真知灼见、让人耳目一新,而是这本书的内容总结得非常全面,很适合帮你去做一个整体、系统的梳理。

# 9.《重构与模式》

图片

我们之前讲过,设计模式一个重要的应用场景就是代码重构。这本书主要讲如何应用设计模式来重构代码,改善代码设计。如果说《重构》是讲如何做低层次的重构,那这本书就是在讲如何做高层次的重构,也就是我们专栏中要讲到的小重构和大重构。这本书非常推荐你读一下,它能让你知道,为什么要用设计模式,如何有的放矢地应用设计模式,而非只是无痛呻吟。

# 10.《修改代码的艺术》

图片

如果说《重构》那本书是从编码规范上来讲如何重构,《重构和模式》是从设计模式上来讲如何重构,那这本书可以粗鲁地归为从面向对象设计思想、设计原则上来讲重构。除此之外,这本书更偏向于教你如何来重构,不像上面两本书那样聚焦,所以是一个很好的补充。这三本书合起来称为重构“三部曲”。这本书的示例代码是用C++写的,不过也很容易看懂,很推荐你读一下。

# 总结

今天的加餐内容就这些,我来稍微总结回顾一下推荐的书籍。这些书我基本上都看过,并且很多都看了好几遍,如果你时间宽裕,想要真正掌握写出优秀代码的能力,非常推荐你认真看一下,相信会对你有非常大的帮助。

图片

# 课堂讨论

我罗列的书籍中,你读过哪几本?哪一本或者几本对你影响最大?除了我罗列的这些,还有哪些书籍你觉得值得推荐?

欢迎在留言区写下你的答案,和同学一起交流和分享。如果有收获,也欢迎你把这篇文章分享给你的朋友。

# 精选评论

点击查看

pedro

马丁那本《重构》现在已经第二版了,第一版的实例语言是Java,第二版是JavaScript。总之,非常值得一读!


雷霹雳的爸爸

这两本不应该缺:敏捷软件开发:原则模式与实践 (opens new window),java的必读EffectiveJava (opens new window),其实如果不提编码规范(其实我更喜欢顺着英文的说法叫做风格指南或者约定之类的,规范不规范的,很像扣帽子,其实很多时候很难用对不对来评价,但高下之分还是很明显的),而且代码大全都算进来了,那程序员修炼之道,从小工到专家 (opens new window)不得不列吧,这列起书单来,发现好书还真是不少,比如UML和模式应用 (opens new window),这本书我觉得UML在其次,主要是少有的系统介绍GRASP的书,就像unclebob那本老书系统介绍SOLID一样;还有一本,OOD启思录 (opens new window),看过的都会感受到它的力量的...这么说起来,其实这些书互相推荐的数目里面还能挖掘出很多捏,书这玩意儿,嗯,不能光屯不看...


辣么大


jkhcw

headfirst确实是首选


梦倚栏杆

代码整洁之道近乎看完了。 代码大全买了一本纯英文版,太高看自己了,到现在也没有翻开。 重构买的第二版,jsdemo,看了一些。 我看书发现有个诡异的点,基本上看一半或者剩最后两张就不想看了

发现自己的代码还是那样,只有在看书的那几天会明确的记住理论知识,随着时间的漂移在一点点的遗忘


一步


忆水寒

我看了《设计模式之蝉(第二版)》很不错


xavier

手里有《代码整洁之道》《重构》,都是看了一点点就放那里,要不是今天的内容,都要搞忘了。得重新拾起来。


Cy23

买好久了,就差读了,加油


QFann

这里只看过三本,对我的帮助都挺大。HeadFirst设计模式是我看的入门书籍,比较适合零基础,文字通俗易懂,结合场景应用讲述每一种模式,让你更容易接受。重构和代码简洁之道,使你写代码不再流水账式堆砌代码。而是会让我在编写前思考更多,代码的可读性、扩展性、复用性等。写出更有灵魂的代码~


TheWell

争哥,有没有互联网网络方面的书推荐,现在的微服务rpc和httpsocket等相关的技术点都离不开网络方面的知识,但是偏偏这方面的知识很薄弱.


Peter Cheng

一本都没读过,都是在模仿别人写代码


编程界的小学生


业余爱好者


陈华应

重构,拿来即用


2102

cleancode值得一读


lijun

我只有其中的一本书,headfirst设计模式。


kyle

紧追慢赶,总算跟上来了大部队了。下次争取做沙发。


Timor

《元素模式》了解下?


Geek_54edc1


#极客时间
上次更新: 2025/06/04, 15:06:15
用一篇文章带你了解专栏中用到的所有Java语法
聊一聊Google是如何做CodeReview的

← 用一篇文章带你了解专栏中用到的所有Java语法 聊一聊Google是如何做CodeReview的→

最近更新
01
AIIDE
03-07
02
githubActionCICD实战
03-07
03
windows安装Deep-Live-Cam教程
08-11
更多文章>
Theme by Vdoing
总访问量 次 | 总访客数 人
| Copyright © 2021-2025 ggball | 赣ICP备2021008769号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式
×

评论

  • 评论 ssss
  • 回复
  • 评论 ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss
  • 回复
  • 评论 ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss
  • 回复
×