写代码的书籍(代码编程书籍)

提高代码的质量、可读性和可维护性

写代码的书籍(代码编程书籍)

达维特在Unsplash上的照片

无论您处于职业生涯的哪个阶段,无论您是刚开始学习如何编码的技术新手,或者您已经在该领域工作了几年,甚至您是该领域的资深人士,一项技能您需要继续努力和改进的是代码编写。

编写好代码的能力通常比你的代码所做的更有价值。如果您的代码干净、组织良好且易于阅读和遵循,那么您作为程序员的价值将非常高。如果您可以编写代码,您将能够轻松地对其进行调试、维护和扩展。

编写好的代码不仅仅是软件工程师的专利;我认为这对任何技术人员来说都是一项基本技能,尤其是数据科学家。当然,您编写和调试代码的次数越多,您就越会知道如何编写好的代码。但是,有时,您可以通过阅读一本关于什么是好的代码以及如何编写代码的书来加快速度。

书籍是获取信息和学习新技能的重要来源;问题是,书太多了,一个人看不完。但这就是本文的目的。我读了很多关于软件工程和编写代码的书,今天我要讲的 5 本书是我最喜欢的书,它们帮助我提高了很多代码编写技能。

书 1:清洁架构软件结构和设计工匠指南

Robert C. Martin 的Clean Architecture是一个很好的开始我们的列表的地方,也是任何有抱负的程序员或数据科学家开始编写更好代码的好地方。Robert 投入了超过半个世纪的经验,向您展示了要做出哪些选择以及为什么它们对您的代码成功至关重要。

这本书涵盖了您在日常工作中必然会遇到的许多现实生活场景和应用程序,例如软件设计的基本原则、数据管理以及您可以使用的不同编程范例。不仅如此,尤其是对于数据科学家来说,本书还涵盖了有关数据库和网络高级结构的最佳实现的章节。

第 2 册:美丽的架构:领先的思想家揭示软件设计中隐藏的美

接下来是Diomidis Spinellis 和 Georgios Gousios 的美丽建筑。这本书的独特之处在于不仅仅是作者写了他们的想法;相反,它是由各种成功的软件工程师和架构师撰写的关于如何打造健壮、可维护和干净的代码的论文集。

通过本书,您将了解以数据为中心的应用程序生态系统的基础知识,以及您的系统架构如何影响整个系统的性能。您还将了解面向对象和功能架构编程之间的差异和相似之处,以及使用这两种范例如何影响软件的演变和开发人员的参与。

第 3 册:面向模式的软件架构,第 1 卷,模式系统

尽管软件或技术通常是一个快节奏的领域,但编写好的代码的基础知识并不新鲜,尽管该领域取得了进步,但核心概念仍然相同。这本特别的书是一本古老但黄金的书。面向模式的软件架构写于 1996 年,但在今天仍然非常重要。

今天使用的大多数成功的软件系统都有类似的模式。这些模式经常重复,因为它们一次又一次地被证明是有效的。本书在不同的抽象级别上讨论了这些模式,以及如何将它们一起使用来构建健壮的系统。

第四册:可读代码的艺术

在多年编写代码甚至阅读代码之后,您将开始对编写良好的代码产生欣赏感。它们易于阅读和遵循,这意味着它们也更易于扩展和调试。名单上的下一本书,也是我一直以来最喜欢的书是The Art of Readable Code。

作者 Dustin Boswell 和 Trevor Foucher 的这本书展示并分析了数百个写得不好的代码示例,并教你为什么认为它写得不好以及如何改进它。这本书涵盖了各种主题,例如格式化、编写更好的注释、改进循环和逻辑以降低复杂性、如何组织代码等等。

第 5 册:设计模式:可重用的面向对象软件的要素

今天排在最后的是另一本古老但黄金的书,设计模式:可重用的面向对象软件的元素,由四人组成:Erich Gamma、Richard Helm、Ralph Johnson 和 John Vlissides。那本书中介绍的四种设计模式今天仍然用于创建可重现、健壮的代码。

本书解释了可用于设计软件的不同模式,主要是三种模式类别,创建型、结构型和行为型。然后,您可以选择使用这些模式中的一种或组合,以根据您的应用程序使您的代码更好。

最后的想法

每当我教别人如何编码时,我总是告诉他们学习编码的基础知识和如何实现算法是最容易的部分。学习如何编码的挑战性部分是掌握编写干净、可维护和可重现的代码的能力。但是,这种技能并不容易教,而且你写的代码越多,你的代码编写技能就会提高得越多。

因为编码是几乎所有技术相关领域的核心,从科学计算到机器学习和人工智能,许多书籍和资源可以帮助您将代码编写技能提升到一个新的水平。

在这篇文章中,我推荐了 5 本我最喜欢的代码架构和结构书籍,它们极大地帮助我提高了我的代码编写技能,并教我的学生如何编写和发现干净、编写良好的代码。我希望其中一本书能帮助您提高代码质量,并成为您将技能提升到新水平的原因。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发表评论

登录后才能评论