据说书是你最好的朋友,的确如此。许多专家都是通过把时间花在阅读上而取得今天的成就。软件工程是一门需要大量阅读和练习的学科。
我们将给你一个汇编的清单,列出专家们从这些书中学到的最重要的几个建议。我们在这里列出的这些技巧将极大地帮助你完善你的技能。
现在,当我们准备回顾目前可用的软件工程方面的前10本书籍时,您必须考虑一些因素,以帮助您选择正确的书。
1.高的建议
在搜索合适的书时,你会看到有一些被不同的读者强烈推荐的选项。如果你在脑海中没有任何特定的名字,只是根据类别搜索一个,你应该选择强烈推荐的那个。
2.编辑评论
你可能会用用户评论的重要性和意义来反驳它,不可否认的事实是,认证买家所做的评论具有很高的意义。你不能忽视编辑的评论。大多数情况下,这是由一个专家小组完成的,你可以利用他们的专业知识。
3.精装书、平装书
这一切都取决于你的个人选择。如果你问我们的建议,我们会说,如果你是一个狂热的旅行者或需要在你的日常通勤中携带这本书,平装版将是一个更好的选择。
4.定价
对于初学者来说,这是最重要的方面,我们在编写书籍时一直牢记这一点。如果你刚刚开始,有一些非常昂贵的选择你应该完全忽略。对于专业人士或那些不以金钱为标准的人来说,你应该选一个能提供最全面外观的。
10本最好的软件工程书籍
最佳软件工程书籍 | 页面 | 适合 | 立即购买 |
---|---|---|---|
破解编程面试 | 687 | 初学者从业者 | 检查在亚马逊 |
敏捷软件工艺手册 | 464 | 初学者 | 检查在亚马逊 |
算法介绍-第3版 | 1292 | 初学者的专业人士 | 检查在亚马逊 |
干净的建筑 | 432 | 专业人士 | 检查在亚马逊 |
软件建设实用手册 | 960 | 专业人士 | 检查在亚马逊 |
计算机硬件和软件的隐藏语言 | 400 | 专业人士 | 检查在亚马逊 |
计算机编程的艺术 | 9998 | 专业人士 | 检查在亚马逊 |
编程的珍珠 | 256 | 初学者的专业人士 | 检查在亚马逊 |
软件设计哲学 | 190 | 初学者 | 检查在亚马逊 |
务实程序员 | 352 | 初学者的专业人士 | 检查在亚马逊 |
最佳软件工程书籍:评论
1.破解编程面试
当您学习软件工程的基础知识时,您需要关注的最重要的方面是实践。在你申请一份工作之前,你必须经历尽可能多的问题,以便你有一个基本的想法来实现基本的技术。
在面试中,你永远不知道面试官什么时候会让你在白板上写下一些任务的代码。我们将向你介绍的这本书中提到了一些惊人的技巧和技巧,它们将帮助你无缝地理解这个过程。
在你回答之前,你将被问到的问题会有很多层次。你还会看到,这些问题不会从任何教科书中挑选出来,它们都将根据实际应用实时提问。完成本参考指南后,您将能够在任何编码面试中表现得最好。这本由Gayle Laakmann McDowell撰写的书将包括一系列的面试问题,这些问题从基本的到复杂的基于算法的问题。
2.干净代码:敏捷软件工艺手册
对于程序员来说,最重要的是要记住如何编写干净的代码。开发过程是非常复杂的,你只有通过大量的练习才能掌握它。
您正在编写的代码应该是干净的,以使一切工作。如果不是这样,您将会注意到大量的错误,您所开发的软件将会崩溃。本书将专注于为您提供大量编写的代码,您可以通过这些代码查找您可能正在犯的错误。
罗伯特·马丁的这本书的主要重点是在决定程序好坏的关键因素之间提供详细的比较。该指南基本上分为三个部分,第一部分侧重于提供模式、实践和原则。转到第二部分,读者将发现一些案例研究和一些非常实际的例子。这本书还将向您介绍所有必要的细节,您需要实现将一个糟糕的代码成型为一个干净的代码。
3.算法介绍-第3版
该参考指南的前几个版本学习基础知识和技术方面的开始,也广受工程师的欢迎。这也不例外。本书将包括一系列与多线程算法、基于边缘的流、动态编程等主题相关的技术和技巧。
不像其他的书只专注于提供单一的方面,无论是严谨的还是全面的,这本书是由托马斯H.科曼写的,详细地涵盖了两个方面。即使在广泛讨论一系列算法时,《算法导论》也设法为初学者提供了一个简单的理解。
该指南的第1版和第2版在大学教学大纲中也很受欢迎。这个最新的版本提供了所有方面的更新的观点,你不会觉得了解任何过时平台的工作流程。本书还介绍了一套增强的技术,工程师将使用它来改变贪婪算法,以及更好地实现动态规划。如果你总是忙个不停,我们建议你选择Kindle版。
4.干净的建筑
当涉及到与软件工程相关的任何方面时,您需要学习的非常基本的一点是,无论您在哪里工作,都需要将通用规则放在首位。作者已经写了几本畅销书,《清洁建筑》当然也不例外。
这本书还将关注你在申请工作时需要学习的方面。在这本书中,读者将能够看到一系列问题的直接解决方案,而无需任何不必要的废话。作者还讨论了你需要遵循的关键原则,以实现你渴望的职位。
谈到更多的技术方面,这本书是学习更多信息和完善数据管理、组件分离等技能的最佳途径。读者还可以更好地理解编码中真正重要的东西,以及在不损害正在开发的软件的情况下可以忽略的东西。如果你刚刚开始学习,或者你还处于初学者阶段,我们强烈建议你去读这本书。
5.代码完成:软件构建实用手册
该参考指南在开发人员和程序员中广受欢迎。对于任何初学者来说,最重要的方面是理解这本书所提供的内容。作者S. McConnell选择的语言是相当简单和直接的。
在你可以在软件工程类别中找到的各种书籍中,Code Complete是找到最佳实践指南的指南。这里包含的例子都是真实的,您将发现一些最好的实现技术。作者还将指导您以最佳方式实现特定的原则。
一旦你通读了这本书,你必须能够彻底理解这些方法。你需要遵循它们,在不让代码太复杂的情况下获得最好的创造力。本指南还将广泛地关注您将从协作开发中获得的优势。多亏了这本书提供的直接解决方案。读者还可以轻松地调试代码中可能出现的错误和问题。“代码完成”迫使你保持所写代码的质量。
6.代码:计算机硬件和软件的隐藏语言
无论你是否选择了软件工程作为你的职业,或者你只是有一个好奇的头脑,你都需要了解计算机是如何工作的。编码是使一切工作的秘密语言,如果你能够掌握编码技能,你可以给你的电脑订购任何东西。
这也是引入新的方法来建立沟通的最好方式。本书将从非常详细的介绍什么是编码开始。您将在这里获得的方法和语言以及参考资料将帮助初学者彻底理解基础知识。
这本书以故事的形式讲述了一切,这是一种惊人的技巧,可以教授一些基本概念。你在这里得到的例子也会对你正在做的项目有帮助。400页厚的指南是您了解代码是什么的最好和完整的工具。在本书的后面部分,读者还将获得关于自己建造计算机方面的详细内容。我们建议从你的日程安排中抽出一些时间来阅读这个指南。
7.计算机编程的艺术
本书的主要重点是为读者提供一套完整的编程工具。这本书的读者已经对它进行了广泛的评论,推荐给专业人士。这套四卷书可以作为任何人最好的参考点。你会发现这里的语言也很简单,你将能够学习的内容没有任何问题或麻烦。
许多科学家都支持由两位作者唐纳德·克努斯和唐纳德·约翰·富勒所做的分析。您将在这里看到的示例也与现实项目中的许多示例非常相似。然而,一个人要从头到尾读完这本书几乎是不可能的,最好是按照它的本意来对待这本指南。这是一个参考指南,你可以在任何项目卡住的时候回来。
8.编程的珍珠
你会发现没有一个工程师或程序员没有在他/她最喜欢的书单中列出这本特别的软件工程书。Jon Bentley是本书的作者,他设法提供了一个非常不同的编码场景视角。
这本书的重点是为程序员提供他们可能面临的所有问题的解决方案。你将在本指南中得到的解决方案在本质上是非常直接和独特的。作者选择了一种机智和幽默的方法来解决人们可能面临的问题。
初学者会发现用这种方法学习很有趣。此外,作者针对问题提出的解决方案也可以很容易地应用到实际问题中。无论你是初学者还是专业人士,这本书都提供了非常深刻的观点。一旦你阅读了J. Bentley的这本指南,你不仅能找到更容易应用的东西,而且你可能还会知道一个更简单的方法。
9.软件设计哲学
它的价格不菲,你可能会觉得有点难以接受。然而,一旦浏览了评论,我们发现包含它非常有趣。本书从您刚开始学习软件工程时需要记住的所有基础知识开始。
这里讨论的方法和技术将为您提供一种非常简单的方法,将一些复杂的代码集划分为更小的模块。接下来,作者将解释开发人员需要遵循的过程的哲学方面。
作者选择的解释事物的结构非常有趣。段落和部分保持简短,对初学者来说是一个福音。基本原理解释得很好,读者将能够彻底理解背后的核心概念。此外,这也是管理复杂代码的方法。如果你正在寻找一本能给你提供深入视角的书,这是你的正确选择。
10.务实程序员
随着我们在先进技术方面的进步,有各种各样的新方面需要你们自己熟悉。这本书早在1999年就出版了。它涵盖了广泛的主题,包括自我评估和职业发展。
此外,你将在这里读到的章节以一系列问题结束。此外,你也可以说挑战,这将帮助你尽可能多地练习。由Andrew Hunt和David Thomas撰写的指南对所有编程方面提供了非常详细的视角。它将帮助初学者引导他们成为专业人士。
本书还关注开发人员通常会面临的漏洞和错误。这些错误可以很容易地纠正,没有任何麻烦,你所需要做的就是彻底浏览这一章。然而,这本书也有一些缺点,你会对它产生依恋。作者指出,要始终在代码中使用版本控制。现在,这是一种过时的方法,每个开发人员都知道Github的特权和好处。
结论
对于所有在那里寻找他们能找到的最好的书的工程师们,我们希望我们能有所帮助。我们在这里提到的那些书广受好评。此外,简短的回顾将帮助您选择适合您的需求的一个。然而,如果你发现自己处于一种混乱的状态,没什么好担心的。我们将推荐两本书,你可以选择。