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

1.《设计模式》

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

2.《Head First 设计模式》

如果说刚刚提到的《设计模式》是最经典的设计模式书籍,那《Head First 设计模式》就是最通俗易懂的。这本书看起来很厚,但每页里的内容并没有那么密集。

这本书最大的特点就是口语化、场景化。整本书围绕几个人的对话来展开。里面的例子比较脱离实践,但比较容易看懂。如果你之前对设计模式没有太多了解,这本书无疑是你的首选。

3.《Java 与模式》

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

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

这本书跟《Head Frist 设计模式》都是出自“Head First”系列,写作风格也相同,不过也略显啰嗦。从书名中我们就可以看出,这本书主要是讲面向对象分析和设计。

实际上,很多关于面向对象分析和设计书籍都侧重讲 UML,讲得真的好的书籍却并不多。除此之外,我觉得面向对象分析和设计的理论知识并不多,关键还是实践。所以,如果你工作比较忙,看我的专栏就足够了。如果你特别想系统地学一下的话,看看这本书也完全足够了。

5.《代码大全》

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

6.《代码整洁之道》

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

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

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

8.《重构》

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

9.《重构与模式》

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

10.《修改代码的艺术》

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

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

如果说数据结构和算法是教你如何写出高效的代码,那设计模式讲的就是如何写出可扩展、可读、可维护的高质量代码。因为代码光 “够用” 是远远不够的,还要 “好用”。设计模式跟算法一样,与编码密切相关,能直接提高你的开发能力。

王争是《数据结构与算法之美》作者,前 Google 工程师,干过架构、做过产品、带过团队、创过业,最后发现还是喜欢写代码。工作十多年,始终没有脱离编码第一线。

他把自己十多年写代码的经验沉淀成这门代码提升课《设计模式之美》,内容设计紧贴工作中的开发场景,完全使用真实项目的代码讲解,涵盖了代码设计的方方面面,包括面向对象、设计原则、编码规范、重构技巧、设计模式等,能真正提升你的代码能力,让编程内功转化为直接的开发生产力。

目前已经有 10W 人在学习, 110 讲全集更新完,加餐有 10 讲,我一直认为,学习只是一方面,务必多用于实战练习,坚持三分学、七分练,才能做到事半功倍。

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

  1. wordvba编程代码大全_面向对象、设计原则、设计模式、编程规范、重构

    面向对象.设计原则.设计模式.编程规范.重构 面向对象 主流的三个编程风格有:面向对象,面向过程,函数式编程. 面向对象是最主流的风格,面向对象具有丰富的特性(封装,抽象,继承,多态). 面向对象 面 ...

  2. 编程规范及程序员的自我修养

    本文重点解决如下问题:什么样的代码是好的代码,什么样的程序员是优秀的程序员? 先看图 4 3(a)中的代码,你能明白这段代码要做什么事情吗?再看图 4 3(b)中的代码,你可以知道这段代码在做什么吗? ...

  3. JavaScript经典pdf书籍推荐

    以下是我整理和推荐得JavaScript经典pdf书籍 共6本,分别是: <JavaScript高级程序设计>最新版 带目录 ![在这里插入图片描述](https://img-blog.c ...

  4. 设计原则与思想【面向对象、设计原则、编程规范、重构技巧】

    一.高质量代码的评判标准: 可维护性:在不破化原有代码设计.不引入新的bug的情况下,能够快速的修改或者添加代码 可读性:我们需要看代码是否符合编码规范.命名是否达意.注释是否详尽.函数是否长短合适. ...

  5. 开发编程值得收藏的经典书籍 免费下载

    开发编程值得收藏的经典书籍 免费下载 <疯狂的程序员>(绝影)  免费下载  http://www.izixue.com/thread-357-1-1.html?fromuid=30 &l ...

  6. 干货!适合编程小白的经典Python书籍推荐

    近些年来,Python的热度一直处于上升阶段.到目前为止,Python已经成为和Java一样备受编程爱好者追捧的编程语言.因此越来越多的人都选择学习Python,只是很多人由于缺乏编程基础,不知道怎么 ...

  7. 把经典的书籍都汇总到这里

    把经典的书籍都汇总到这里 1.计算机科学概论 计算机科学概论 计算机系统概论(2016/11/27) 计算机系统要素(2016/11/27) 2.计算机数学基础 高等数学 线性代数 概率论与数理统计 ...

  8. 推荐一些学习嵌入式经典的书籍

    在学习嵌入式的过程中,到现在为止,我还是看了有一部分书了.不得不说,很多书就像经典一样,永远不会过时.等到你再去品味的时候,又会有新的体会. 学无止境!学习也是一种不断积累的过程,读书也是.希望自己也 ...

  9. 让你最快速地改善代码质量的 20 条编程规范

    根据学习部分极客时间 <设计模式之美>专栏 (王争 前Google工程师)和<阿里 java 规范>整理总结. 分别介绍编码规范的三个部分:命名与注释(Naming and C ...

  10. 编程规范(阿里巴巴)

    一.编程规范: 1.变量不可以使用下划线与美元符号开头,也不能使用下划线与美元符号结尾. 2.代码中英混合,也不可纯拼音,变量需要为名词或形容词,方法必须为动词,常量必须全部大写多个单词使用下划线分割 ...

最新文章

  1. BZOJ 4555 [Tjoi2016Heoi2016]求和
  2. 大型主机CICS中间件基础
  3. php self 内存,php导致内存溢出
  4. scikit-learn学习笔记(三)Generalized Linear Models ( 广义线性模型 )
  5. iOS十进制切割格式转换
  6. 光纤收发器具体是怎么分类的?
  7. 工作243:name报错
  8. 程序员面试金典 - 面试题 05.02. 二进制数转字符串(浮点型 转 二进制小数,乘2取整)
  9. 奖池90万!阿里天池发起肺部CT多病种智能诊断大赛
  10. Excel、CSV文件数据导入MySQL数据库
  11. oracle卸载报错,oracle卸载
  12. VISTA下载全集(下)
  13. linux dd安装win2003,DD安装win2003,2008系统
  14. 逆転裁判5android,逆转裁判5安卓-phoenix wright: ace attorney dual destinies官方app2021免费...
  15. 扫地机器人朋友圈文案_扫地机器人的简单文案
  16. 香港城大:首创3D打印磁控微型机器人技术,推动人体送药研究发展
  17. placement new 讲解
  18. 上海市建筑标准规范合集
  19. 微商管理业务系统开发流程
  20. [野狐行网游研究][二期][8.21更新]

热门文章

  1. 期待已久的大学生活之大一上
  2. java请假系统毕业设计_基于java员工请假销假系统的设计与实现.doc
  3. Xiaojie雷达之路---车载雷达信号处理流程
  4. 干货:react新手入门之react小书
  5. Java JDK动态代理
  6. 服务器PHPWAMP_IN2安装redis
  7. 德语翻译器在线翻译中文-德语翻译器支持各大语言翻译
  8. 拦截器和过滤器的执行顺序和区别
  9. CH579 SPI WS2812B
  10. 联通宽带光猫获取超级密码教程!!