程序员书库(ID:CodingBook) 猿哥整编
书单来自:https://dev.to/awwsmm/20-most-recommended-books-for-software-developers-5578
近,软件开发人员Andrew,整理了几十个程序员、项目经理和职业导师以及其他行业专家推荐的软件开发书籍,该列表一共有36个来源,累计297本书,其中受推荐的是以下20本,一起来看一下:
1、《企业应用架构模式》13.0%的人推荐
这本书实际上是两本书合二为一,部分是一个关于开发企业应用程序的简短教程,你可以从头到尾阅读该教程,以了解本书教程的范围。第二部分,即本书的重点,是对模式本身的详细参考。个模式都提供使用和实现信息,以及Java或C#中的详细代码示例。整本书还用UML图进行了丰富的说明,以进一步解释这些概念。
这本书是为致力于设计和构建企业应用的软件架构师、设计人员和编程人员而写的,同时也可作为高等院校计算机专业及软件学院相关课程的参考教材。
2、《架构整洁之道》 13%的人推荐
通过本书你将学到:
了解软件架构师具备什么条件,以及掌握基本的问题处理、数据管理等基本软件设计原则。
为web、数据库、控制台和嵌入式应用程序实现优的结构
了解设计和体系结构出错的原因,以及如何预防(或修复)这些Bug
3、《计算机程序设计艺术》 13%的人推荐
虽然这本书构思于几十年前,但它仍然是一部永恒的经典。几十年来,前三卷一直是学生、研究人员和实践者在编程理论和实践方面的宝贵资源,是所有基本算法的圣经,这本书大的优点之一就是每一章都包含了大量的问题。作者仔细地选择问题,并根据困难程度将它们编入索引。
4、《编码》 15.9%的人推荐
作者Charles Petzold使用日常和熟悉的语言系统,如布莱叶盲文和摩尔斯电码,为那些想了解计算机和其他智能机器内部秘密的人编织了一个富有启发性的故事。因此读这本书的时候,你丝毫不会感到枯燥和生硬。更重要的是,你会因此而获得对计算机工作原理较深刻的理解。这种理解不是抽象层面上的,而是具有一定深度的。
5、《敏捷软件开发》 15.9%的人推荐
本书由软件开发人员为软件开发人员编写,是新软件开发方法的独特集合。作者讲述了OOD、UML、设计模式、敏捷和XP方法,并详细描述了一个完整的C++和Java可复用程序的软件设计。它使用了一种实用的解决方法,展示了如何开发一个面向对象的应用程序,从分析的早期阶段,到设计到后的实现。
6、《算法导论(第3版)》 17.4%的人推荐
在有关算法的书中,有一些叙述非常严谨,但不够全面;另一些涉及了大量的题材,但又缺乏严谨性。本书将严谨性和全面性融为一体,深入讨论各类算法,并着力使这些算法的设计和分析能为各个层次的读者接受。全书各章自成体系,可以作为独立的学习单元;算法以英语和伪代码的形式描述,具备初步程序设计经验的人就能看懂;说明和解释力求浅显易懂,不失深度和数学严谨性。
全书选材经典、内容丰富、结构合理、逻辑清晰,对本科生的数据结构课程和研究生的算法课程都是非常实用的教材,在IT专业人员的职业生涯中,本书也是一本案头必备的参考书或工程实践手册。
7、《深入浅出设计模式》 17.4%的人推荐
很多时候,你都在被一些软件设计的问题困住了,而你遇到的这些问题很可能别人已经解决了,本书向你展示了开发人员用于创建功能强大、优雅、可重用和灵活软件的经过实践检验的模式,读完这本书将会更擅长于解决软件设计中的问题,并能够和你的团队成员用模式的语言来更好地沟通。
8、《程序员面试金典(第5版)》
本书是原谷歌面试官的经验之作,层层紧扣程序员面试的每一个环节,全面而详尽地介绍了程序员应当如何应对面试,才能在面试中脱颖而出。第1~7 章主要涉及面试流程解析、面试官的幕后决策及可能提出的问题、面试前的准备工作、对面试结果的处理等内容;第8~9 章从数据结构、概念与算法、知识类问题和附加面试题4 个方面,为读者呈现了出自微软、苹果、谷歌等多家知名公司的150 道编程面试题,并针对每一道面试题目,分别给出了详细的解决方案。
9、《点石成金》18.8的人推荐
这是一本关于Web设计原则而不是Web设计技术的书。作者是Web设计专家,具有丰富的实践经验。他用幽默的语言为你揭示Web设计中重要但却容易被忽视的问题,只需几个小时,你便能对照书中讲授的设计原则找到网站设计的症结所在,令你的网站焕然一新。
10、《程序员的职业素养》 18.8%的人推荐
本书是编程大师Bob 大叔40 余年编程生涯的心得体会, 讲解成为真正专业的程序员需要什么样的态度、原则,需要采取什么样的行动。作者以自己以及身边的同事走过的弯路、犯过的错误为例,意在为后来人引路,助其职业生涯迈上更高台阶。
11、《软技能》 23.2%的人推荐
这是一本真正从“人”(而非技术也非管理)的角度关注软件开发人员自身发展的书。书中论述的内容既涉及生活习惯,又包括思维方式,凸显技术中“人”的因素,全面讲解软件行业从业人员所需知道的所有“软技能”。
本书共分为职业篇、自我营销篇、学习篇、生产力篇、健身篇、精神篇等七篇,概括了软件行业从业人员所需的“软技能”。通过阅读本书,软件工程人员、编程人员和其他技术人员能够积极思考自己的职业生涯,丰富自己的生活,让自己更接近成功。
12、《人件》 23.2%的人推荐
本书是一本关于软件组织管理的畅销书。本书是软件管理领域的传奇经典,被誉为“对美国软件业影响大的一本书”。全书从管理人力资源、创建健康的办公环境、雇用并留用正确的人、高效团队形成、改造企业文化和快乐工作等多个角度阐释了如何思考和管理软件开发的大问题——人(而不是技术),以得到高效的项目和团队。
13、《编程珠玑》 26.1%的人推荐
本书是计算机科学方面的经典名著。书的内容围绕程序设计人员面对的一系列实际问题展开。作者Jon Bentley 以其独有的洞察力和创造力,引导读者理解这些问题并学会解决方法,而这些正是程序员实际编程生涯中至关重要的。本书的特色是通过一些精心设计的有趣而又颇具指导意义的程序,对实用程序设计技巧及基本设计原则进行了透彻而睿智的描述,为复杂的编程问题提供了清晰而完备的解决思路。
14、《修改代码的艺术》 27.5%的人推荐
本书是继《重构》和《重构与模式》之后探讨修改代码技术的又一里程碑式的著作,而且从涵盖面和深度上都超过了前两部经典。书中不仅讲述面向对象语言(Java、C#和C++)代码,也有专章讨论C这样的过程式语言。作者将理解、测试和修改代码的原理、技术和新工具(自动化重构工具、单元测试框架、仿对象、集成测试框架等),与解依赖技术和大量开发和设计代码的原则、佳实践相结合,许多内容非常深入,而且常常发前人所未发。
15、《人月神话》 27.5%的人推荐
本书内容源于作者Brooks在IBM公司任System/360计算机系列以及其庞大的软件系统OS/360项目经理时的实践经验。在本书中,Brooks为人们管理复杂项目提供了具洞察力的见解,既有很多发人深省的观点,又有大量软件工程的实践,为每个复杂项目的管理者给出了自己的真知灼见。
16、《重构》 33.3%的人推荐
二十多年来,全世界经验丰富的程序员都依靠Martin Fowler的重构来改进现有代码的设计,提高软件的可维护性,并使现有代码更易于理解。
这个期待已久的新版本已经更新,以反映编程领域的重要变化。第二版的《重构》,改用JavaScript代码示例,以及演示无类重构的新功能示例。和版一样,这个版本解释了什么是重构为什么应该重构,如何判断需要重构的代码,以及如何成功的重构。
17、《设计模式》 33.3%的人推荐
这本书不是介绍面向对象技术或设计。许多书已经在这方面做得很好了……,这是一本设计模式的书,描述了面向对象软件设计中特定问题的简单而优雅的解决方案,这本书结合设计实作例从面向对象的设计中精选出23个设计模式,总结了面向对象设计中有价值的经验,并且用简洁可复用的形式表达出来。
18、《代码大全》 44.9%的人推荐
本书被广泛认为是编程的佳实践指南之一,Steve McConnell的《代码大全》完成帮助开发人员编写更好的软件已经超过十年了。现在这本经典的书已经完全更新和修订了,并加入了前沿的实践——以及数百个新的代码样本——来说明软件构建的艺术和科学。无论你的经验水平、开发环境或项目大小如何,本书都将为你提供信息并激发您的思考——并帮助你构建高质量的代码。
19、《程序员修炼之道》 44.7&的人推荐
本书由一系列独立的部分组成,涵盖的主题从个人责任、职业发展,知道用于使代码保持灵活、并且易于改编和复用的各种架构技术,利用许多富有娱乐性的奇闻轶事、有思想性的例子及有趣的类比,全面阐释了软件开发的许多不同方面的佳实践和重大陷阱。
20、《代码整洁之道》 52.2%的人推荐
本书提出一种观念:代码质量与其整洁度成正比。干净的代码,既在质量上较为可靠,也为后期维护、升级奠定了良好基础。作为编程领域的佼佼者,作者给出了一系列行之有效的整洁代码操作实践。这些实践在《代码整洁之道(英文版)》中体现为一条条规则(或称“启示”),并辅以来自现实项目的正、反两面的范例。只要遵循这些规则,就能编写出干净的代码,从而有效提升代码质量。