软件质量必读经典书籍

winter计算机书籍约 1861 字大约 6 分钟

下面推荐都是我看过并且我觉得值得推荐的书籍。

不过,这些书籍都比较偏理论,只能帮助你建立一个写优秀代码的意识标准。 如果你想要编写更高质量的代码、更高质量的软件,还是应该多去看优秀的源码,多去学习优秀的代码实践。

代码整洁之道

《重构》open in new window

必看书籍!无需多言。编程书籍领域的瑰宝。

世界顶级、国宝级别的 Martin Fowler 的书籍,可以说是软件开发领域最经典的几本书之一。目前已经出了第二版。

这是一本值得你看很多遍的书籍。

《Clean Code》open in new window

《Clean Code》是 Bob 大叔的一本经典著作,强烈建议小伙伴们一定要看看。

Bob 大叔将自己对整洁代码的理解浓缩在了这本书中,真可谓是对后生的一大馈赠。

《Effective Java 》open in new window

《Effective Java 》这本书是 Java 领域国宝级别的书,非常经典。Java 程序员必看!

这本书主要介绍了在 Java 编程中很多极具实用价值的经验规则,这些经验规则涵盖了大多数开发人员每天所面临的问题的解决方案。这篇文章能够非常实际地帮助你写出更加清晰、健壮和高效的代码。本书中的每条规则都以简短、独立的小文章形式出现,并通过例子代码加以进一步说明。

《代码大全》open in new window

其实,《代码大全(第 2 版)》这本书我本身是不太想推荐给大家了。但是,看在它的豆瓣评分这么高的份上,还是拿出来说说吧!

这也是一本非常经典的书籍,第二版对第一版进行了重写。

我简单地浏览过全书的内容,感觉内容总体比较虚,对于大部分程序员的作用其实不大。如果你想要切实地提高自己的代码质量,《Clean Code》和 《编写可读代码的艺术》我觉得都要比《代码大全》这本书更好。

不过,最重要的还是要多看优秀的源码,多学习优秀的代码实践。

《编写可读代码的艺术》open in new window

《编写可读代码的艺术》这本书要表达的意思和《Clean Code》很像,你看它俩的目录就可以看出来了。

在我看来,如果你看过 《Clean Code》 的话,就不需要再看这本书了。当然,如果你有时间和精力,也可以快速过一遍。

另外,我这里还要推荐一个叫做 write-readable-codeopen in new window 的仓库。这个仓库的作者免费分享了一系列基于《编写可读代码的艺术》这本书的视频。这一系列视频会基于 Java 语言来教你如何优化咱们的代码。

在实践中学习的效果肯定会更好!推荐小伙伴们都抓紧学起来啊!

程序员职业素养

《The Clean Coder》open in new window

《 The Clean Coder》是 Bob 大叔的又一经典著作。

《Clean Code》和《 The Clean Coder》这两本书在国内都翻译为 《代码整洁之道》,我觉得这个翻译还是不够优雅的。

另外,两者的内容差异也很大。《Clean Code》这本书从代码层面来讲解如何提高自己的代码质量。而《The Clean Coder》这本书则是从如何成为一名更优秀的开发者的角度来写的,比如这书会教你如何在自己的领域更专业、如何说不、如何做时间管理、如何处理压力等等。

架构整洁之道

《架构整洁之道》open in new window

你没看错,《架构整洁之道》这本书又是 Bob 大叔的经典之作。

这本书我强烈安利!认真读完之后,我保证你对编程本质、编程语言的本质、软件设计、架构设计可以有进一步的认识。

国内的很多书籍和专栏都借鉴了《架构整洁之道》 这本书。毫不夸张地说,《架构整洁之道》就是架构领域最经典的书籍之一。

正如作者说的那样:

如果深入研究计算机编程的本质,我们就会发现这 50 年来,计算机编程基本没有什么大的变化。编程语言稍微进步了一点,工具的质量大大提升了,但是计算机程序的基本构造没有什么变化。

虽然我们有了新的编程语言、新的编程框架、新的编程范式,但是软件架构的规则仍然和 1946 年阿兰·图灵写下第一行机器代码的时候一样。

这本书就是为了把这些永恒不变的软件架构规则展现出来。

项目管理

《人月神话》open in new window

这本书主要描述了软件开发的基本定律:一个需要 10 天才能干完的活,不可能让 10 个人在 1 天干完!

看书名的第一眼,感觉不像是技术类的书籍。但是,就是这样一个看似和编程不沾边的书名,却成了编程领域长久相传的经典。

这本书对于现代软件尤其是复杂软件的开发的规范化有深刻的意义。

《领域驱动设计:软件核心复杂性应对之道》open in new window

这本领域驱动设计方面的经典之作一直被各种推荐,但是我还来及读。

其他

最后再推荐两个相关的文档:

  • 阿里巴巴 Java 开发手册 :https://github.com/alibaba/p3c
  • Google Java 编程风格指南: http://www.hawstein.com/posts/google-java-style.html