您需要阅读的10本编程书籍

有时我们想达到编程的新高度,而我们只是不知道从哪里开始。 我去过那里,那种感觉我应该做点什么,但我不知道该读什么或学什么。

因此,我修改了以前有关书籍的博客文章,并收集了可以有所作为的书籍清单。

这本书是我一生中读过的最好的书之一。 读完本书后,您将更加意识到编写简洁代码的必要性,我敢打赌,您不会回头。

从命名变量到代码测试,这本书涵盖了显着改善代码所需的所有主题。

干净的代码:敏捷软件工艺手册

甚至错误的代码也可以起作用。 但是,如果代码不干净,它可能会使开发组织屈服。 每年…

amzn.to

像上一本书一样,这是每位程序员必读的书。 它会大大改善您构建和设计软件的方式,以实现产品的高级别可维护性和正确性。

清洁体系结构:软件结构和设计手工艺指南(Robert C. Martin系列)

清洁体系结构:软件结构和设计手工艺指南(罗伯特·C·马丁系列)[罗伯特·C·马丁]…

www.amazon.com

这本书是计算机科学中最常用算法的非凡且易于理解的指南。 易于阅读,甚至非程序员也可以理解这种算法的工作原理。

Grokking算法:面向程序员和其他好奇者的插图指南

总结Grokking Algorithms是一本完整说明的友好指南,它教您如何将通用算法应用于……

amzn.to

软件设计模式是随身携带的便捷工具。 这些是符合SOLID面向对象原则的软件设计模式:

  • 单一责任原则。 一堂课只有一个改变的理由。
  • 开放/封闭原则。 软件实体应该可以扩展,但是可以关闭以进行修改。
  • 里斯科夫替代原则。 子类型必须可以替代其基本类型。
  • 接口隔离原理。 客户不应该依赖于他们不使用的方法(保持简短和简单)。
  • 依赖反转原理。 高级模块不应依赖于低级模型

头先设计模式:友好的大脑指南

设计模式有什么特别之处?在任何时候,有人都在为相同的软件设计问题而苦苦挣扎……

www.amazon.com

测试驱动的开发使您可以按增量步骤对软件进行编程,首先定义通过测试的业务逻辑规则,查看它们是否失败,并生成最少的代码以查看它们是否通过。 乍一看,您似乎在做比应做的工作更多的工作,但是一旦采用它,您会发现您减少了代码的编写,提高了质量,并且您有信心更改代码,而不必担心一切都会崩溃。

测试驱动开发:通过示例

从头到尾跟随两个TDD项目,说明程序员可以用来提高…质量的技术

amzn.to

这本书将帮助您在技术技能和软技能之间取得平衡。 软技能是取得成功的重要部分,因为要做一些很棒的事情,您必须与他人互动。

软技能:软件开发人员的生活手册

SummarySoft技能:软件开发人员的生活手册是一本独特的指南,为您提供了一些技巧和实践。

amzn.to

本书旨在帮助您准备采访编码。 每个程序员都是一个解决问题的人,而这本书准确地训练了您解决问题的能力。

破解编码面试:189个编程问题和解决方案

我不是招聘人员。 我是软件工程师。 因此,我知道被要求鞭打辉煌是什么感觉……

amzn.to

这本书对您实现认识多种语言的好处很有帮助。 阅读本书将帮助您扩展解决问题的思维方式。 您将学习Clojure,Haskell,Io,Prolog,Scala,Erlang和Ruby。

七周内的七种语言:学习编程语言的实用指南(实用…

您应该按照The Pragmatic Programmer的建议,每年学习一种编程语言。 但是,如果每年……

www.amazon.com

作为程序员,我们经常考虑通过编程语言解决问题。 学习长生不老药将使您进入功能编程语言的世界,并将塑造您的思维方式,使解决问题变得更加容易。

这是一本特定语言的书,但无论如何我还是建议,因为长生不老药是纯函数式编程,因此是另一种范例。

编程Elixir≥1.6:功能|>并发|>务实|>乐趣

本书是针对经验丰富的程序员的Elixir简介,针对Elixir 1.6及更高版本进行了完全更新。

www.amazon.com


在我看来,这本书是掌握Go编程语言的最好方法。 简单但功能强大的并发原语和高水平的性能使这项最新技术广为人知。

这是一本关于特定语言的书,但我建议使用Go语言,因为Go编程语言有很多不同的东西,例如隐式接口和通信顺序过程并发模型。 就像我说的那样,您所知道的语言会影响您的思维方式。

Go编程蓝图–第二版

使用先进的技术在Go中构建现实的,可用于生产的解决方案。关于本书站起来…

www.amazon.com


希望你喜欢,

米克·博尔特