您还未登录! 登录 | 注册 | 帮助  

您的位置: 首页 > 软件开发专栏 > 开发技术 > 正文

2020年网络开发人员必读书单:让你的代码和架构更上一层楼

发表于:2020-08-30 作者:读芯术 来源:读芯术

本文转载自公众号“读芯术”(ID:AI_Discovery)。

网络上关于编码的必读书单已经有很多了,因此,本文更想针对性地为网络(应用程序)开发人员提些建议。

列表的第一部分用于一般编码,虽然其中很多例子都是用我们不太熟悉的语言编写的,但我发现,通过阅读这些书,对不同语言的其他观点持开放态度,我的编码能力和思考能力也提高了。

本文并不包含任何附属链接,所有书籍均可轻松在线获得。

许多初级和中级开发人员似乎陷入了教程和演练的泥沼,虽然这也是介绍想法、语言或完成工作的好方法,但它同时也会让你停在某个特定水平上止步不前。

从更广泛的角度考虑,不同的编程语言和概念会让你更聪明、编码速度更快,并更好胜任需要完成的工作。相信我,试试吧,你会发现大量供你思考和成长的知识以及新动力和新想法。

必读书籍

1. 《实用程序员》——大卫·托马斯和安德鲁·亨特

这是我读过关于编程最重要的书籍之一,该书并不针对我所使用的编程语言,对我而言,文中也不是所有的话题都是新知识,但这绝对是开发人员在日常生活中用到的最多的内容。

最近我重读了最新的20周年纪念版,这使我有了新领悟,它是一本我应该每年至少浏览一遍的书。

本书涉及的概念包括:开发人员思维方式、沟通、期望管理,以及更多的技术概念,如正交性、DRY原则、原型方法等。

2.《纯净代码》——罗伯特·马丁

这本书有点儿类似于《实用程序员》,它讨论了良好架构和有条理的代码对团体的意义。这本书包含了很多java和c++示例,虽然有点枯燥,但也有很多适用于php、javascript或ruby代码库的不错技巧和建议。

本书处理了更多代码方面的问题,比如如何构造函数、编写代码注释和数据结构测试等等。

3.《企业应用程序体系结构的模式》——马丁·福勒

马丁·福勒是一位非常著名的作家,他的《重构》和《特定领域的语言》都值得一读。本书与Ruby on Rails框架联系密切,但并不只适合Ruby开发人员。我主要用PHP编写,也发现了它的趣味所在。

如果你想从头开始构建应用程序,或想用Laravel或Ruby onRails之类的框架,本书将帮你理解这些框架中针对某些模式做出的决策。本书涵盖了域模式、事务、会话、多元计算器(MVC)和应用程序控制器等内容。

4.《计算机程序的艺术》——唐纳德·克努斯

本书实际上是一套完整系列,讲述了一种非常理论化的计算机科学方法。如果你真的很认真在学习编程,那么书架上必须摆一本,斯坦福大学的计算机科学课程就用到了这本书。

这些书深入介绍了Vol1基础算法、Vol2半数值算法、Vol3排序和搜索以及Vol4组合算法。

5. 《电脑程序的结构与编译》——哈罗德·阿伯森、杰拉德·杰伊·萨斯曼和朱莉·萨斯曼

这是一本非常理论化的书,只适合那些认真对待开发的人员。本书来自麻省理工学院,老实说,我只阅读了一些我觉得很有趣的部分,阅读全部实在太枯燥了。但它确实受人尊敬,如果你能激发自己的学习动力啃下这本书,那么你肯定会拥有超过90%的开发人员都没有的优势。

6. 《重构:改进现有代码的设计》——马丁·福勒

这是马丁·福勒的另外一本书,这本书的主题我非常感兴趣,正如在《实用程序员》一书中所写的那样,“总是留下比发现之初更好的代码”,重构可能是每位开发人员的日常工作,本书有许多经典示例。本书涵盖了工具带中所需的许多已知重构技术,非常通俗易读。

更多网络相关的必备书籍

1. 雄辩的Javascript——玛丽恩·哈弗贝克

和许多开发人员一样,对于javascript,我也是爱恨交织的。它是一种混乱且快速发展的语言,常常引入新句法。本书对我学习所有基础知识有很大帮助,假如我有一段时间没接触javascript,好好阅读这本书可以确保自己更好理解未知的小事物。

2. Pro Git——斯科特·查孔和本·斯特劳布

我经常遇到一些技能熟练但只用GIT基础功能的同事,这简直就是浪费时间。GIT是种我们每天都会用到的重要工具,当注意到自己的团队成员跟不上该工具的速度时,我一定会送他们这本免费的书去阅读。

这本书涵盖了从提交、存储和返回到更高级的主题(如重基和选择)的所有基础知识。

3. 99 bottles of OOP——桑迪·梅斯

99 Bottles of OOP会让你在娱乐中学习。正如前文所写,开放使用其他语言会让你成为更好的开发人员。其中示例和说明非常精巧,对于非ruby开发人员而言,本书也是必读书物。

想要将代码和架构提升到更高的层次,这些书籍不可错过。