十大开发人员书籍

在开发领域进行改进不仅要编写好的代码,而且还要阅读有关如何编写代码的知识。




嗨,哈伯!我继续分享有用的选择。最近,我发表了2个帖子,列出了Github存储库:第1部分2 部分这次,我提请您注意对开发人员有用的书籍。谁在乎-欢迎来到猫。

除了现代世界的所有福祉(播客,视频,博客等)之外,仍然需要阅读一本好书。我已经阅读了许多有关技术和软件开发的好书,并且仍然阅读以跟上新的模式和最佳实践。

为软件开发找到出色的书并非易事,因为生态系统变化如此之快,以至于许多事情在短时间内就被淘汰了。对于那些描述编程语言特定版本的书来说尤其如此。
但是,有一些“永恒的”书:它们专门讨论元主题,设计模式或一般概念。

以下选择包括最受欢迎和阅读最多的书籍。如今仍然有用且经验丰富的开发人员经常向新手专业人员推荐书籍。我知道时间很宝贵,特别是对于开发人员而言。但是,如果您可以阅读其中的一些书籍,那肯定会对您和您的职业有所帮助。请注意,清单中的书没有按重要性排列-均建议阅读。

1. 破解编码面试职业程序员



我强烈建议所有想要彻底准备面试的人使用这本书。作者G. Luckman MacDowell是一位经验丰富的软件工程师,既是采访员又是候选人。她将教您找到问题的隐藏细节,将问题分解为小块,并帮助您提高学习技能。

此外,作者为我们提供了189个面试的真实问题及其实际解决方案,以便您为下一次面试做好准备。

2. 代码完整完美代码



史蒂夫·麦康奈尔(Steve McConnell)所著的这本书是每位程序员一生中至少有一次翻阅过的那些书之一。

这是对软件设计的全面分析,该软件设计良好,并且在行业中有需求。本书涵盖诸如设计,代码编写,调试和测试等主题。

对于拥有一到三年专业经验的开发人员来说,这本书可能是最赚钱的投资。但我也向初学者推荐该出版物,因为它对软件开发的开始很有帮助。

主要结论是:开发人员必须管理复杂性并编写易于维护的代码,并为自己和他人读取。

3. 清理代码清理代码



罗伯特·马丁(Robert Martin)(或鲍伯叔叔(Uncle Bob))的书《清洁代码》(Clean Code)是最受欢迎的编程书籍之一。它是为了教软件工程师如何编写简洁的代码而编写的。本书包含许多示例,展示了如何重构代码以使其更具可读性和可维护性。但是请记住,该出版物专门针对Java。尽管某些模式和技术扩展到通用编程和其他语言,但本书的主要读者是Java开发人员。

还应注意,该书于2008年出版。由于可用的工具和IDE,某些信息(如代码格式)如今已不那么重要。但这仍然是一本好书。

4. 重构改进现有代码的设计



马丁·福勒(Martin Fowler)的书的第二版解释了重构的真正含义,但是,就像20年前发行的第一版一样。阅读本书后,您将找到以下问题的答案:

  • 为什么需要重构代码?
  • 如何识别需要重构的代码?
  • 如何成功重构代码?

阅读本书之后,您将了解流程本身以及重构的一般原理,您可以立即将其应用于代码。您还将学习如何在队友的代码中检测需要重构的浅滩。

5. 头一个第一个设计模式设计模式



这本书同时有4位作者,它教您其他开发人员用来创建功能,可重用和灵活的软件的设计模式和最佳实践。该出版物有很多视觉演示文稿,可以帮助您更轻松地掌握新概念。

如果您想了解工厂,单调,依赖注入等内容,这本书是一个不错的选择。这些示例都是用Java编写的,因此很高兴知道这一点或其他任何面向对象的语言。

6. 企业应用程序体系结构企业应用程序模板的模式



Martin Fowler的另一本关于企业应用程序开发的好书。经过快速教程之后,Martin为您提供了40多个模板,作为企业应用程序开发中常见问题的解决方案。在本书中,您将找到大量用Java或C#编写的UML可视化和代码示例。

阅读本书之后,您可以将公司应用程序划分为多个级别,了解组织业务逻辑的基本方法,使用MVC模板来组织Web应用程序以及管理多个事务的并行处理。

但是,这本书很老,因此未提及REST,云或JSON等现代概念。这是学习的好材料,但仍然对其持批评态度。

7. 有效使用旧版代码有效使用旧版代码



在本书中,作者提供了用于处理大型,未发现的遗留代码测试基础的策略。您可能会想:“ 2020年是一年。旧代码不再是问题,因为我们拥有干净的,受支持的代码和微服务。” 让我向您保证,这是一个误解。传统代码仍然是许多公司面临的最大挑战之一。

阅读本书之后,您将能够了解软件更改的一般机制,例如:添加功能,修复错误,优化性能以及改进设计。此外,您还将学习如何准备用于测试的旧代码并确定需要在何处进行更改。

本书包含用Java,C ++,C和C#编写的示例,并且还包含使用旧代码的技巧,这些旧代码与面向对象的代码无关。

8. Clean CoderPerfect Programmer



鲍勃叔叔的另一本书,讲授了真正的软件技能的技术,实践和工具。它包含有关评估项目,编写代码,重构和测试的实用技巧。

阅读本书后,您将学习如何处理冲突,繁忙的日程安排和不合理的管理人员;学会应对恒定压力并避免倦怠;了解如何管理您的时间,如何编写高质量的代码以及如何帮助开发人员和团队成功开发环境。

这本书很受欢迎,但我认为其中并非所有内容都是纯金的。它包含许多来自生活和假设对话的故事,在大多数情况下,这些结论可以得出结论,即开发人员最终应对自己的行为负责。有时这样的段落太过分了:在其中的一段段落中,代码产生错误的开发人员建议赔偿公司的财务损失。

因此,我建议您仔细阅读本书并提出一些批评。

9. 算法导论算法:建筑及分析



该出版物无非是各种算法的强制性指南。本书内容广泛,既适合初学者,也适合专业人士。材料清楚地说明了问题的实质。但是与此同时,这本书并不是很简单。

它涵盖了诸如数据结构,快速算法,用于难题的多项式算法,图论,计算几何等主题。尽管本书包含几个伪代码示例,但在我看来,这是非常“理论性的”。

10. 所述语用的程序员语用程序员



这是我读过的最严肃的书之一。该出版物包含技术和专业实践技巧,这些技巧在许多项目中对我都有帮助,也使我作为开发人员变得更好。

即使在2020年,这本书也非常重要,尤其是最新版本。在这里,作者分析了成为一名现代开发人员的意义,并探讨了各种主题:从个人责任和职业成长到建筑技术。

阅读本书后,您将了解什么是持续学习以及它的重要性。学习如何编写灵活,适应性强和动态的代码,如何解决竞争问题,如何保护安全性,如何“无情而有效地”测试,等等。

如果我只选择一本书为您提供建议,那么我会选择这本书!

结论


这是一些最受开发人员欢迎的书籍。我认为,列表中最好的是E. Hunt和D. Thomas的“ Pragmatic Programmer”。罗伯特·S·马丁(Robert S. Martin)的书供不应求,并受到许多开发人员的欢迎,但是我建议您在阅读它们时务必保持批判,因为我在很多问题上都不赞成鲍勃叔叔。

当然,您已经阅读了很多这些书,或者至少将它们握在手中,或者至少在互联网上看到了。正如文章作者所言,这些都是“永恒的”书籍,专门介绍基础知识。如果您有补充列表的内容-在评论中分享,我认为这对每个人都会有用。

All Articles