在IT领域的发展过程中,新的编程语言层出不穷:C/C++、Java、C#、PHP、R语言、Python ……但在编程语言不断更新的过程中,经典的IT思想却历久弥新,用普适的思想来应对变化的语言,经受住了开发实践的考验。
在修炼成为优秀程序员的道路上,有很多经典的IT好书可供阅读。一本好书所传达的编程思想和开发理念往往能令人醍醐灌顶,恍然大悟,教会我们用更高的效率开发出更优质的应用。
重构 改善既有代码的设计(第二版)
作者:[美]Martin Fowler
译者:熊节 林从羽
推荐理由
这本书是经典著作《重构》出版20年后的更新版。作者马丁·福勒(Martin Fowler)是世界软件开发大师,在重构、面向对象分析设计、模式、XP 和UML等领域都有杰出贡献。这本书生动阐述了重构原理和具体做法,在第1版的基础上,这一版的内容更丰富,反映了许多编程领域业已发生的变化,能够帮助程序员一步一步修改代码,减少开发过程的风险。适合软件开发人员、项目管理人员等阅读,也可作为高等院校计算机及相关专业师生的参考读物。
代码整洁之道
作者:[美] Robert C. Martin
译者:韩磊
推荐理由
Robert C. Martin,世界级软件开发大师,设计模式和敏捷开发先驱,敏捷联盟首任主席,C++ Report前主编,被后辈程序员尊称为“Bob大叔”。
这本书提出了一种观念:代码质量与其整洁度成正比。干净的代码,既在质量上较为可靠,也为后期维护、升级奠定了良好基础。作者给出了一系列行之有效的整洁代码操作实践,并辅以来自现实项目的正、反两面的范例。只要遵循这些规则,就能编写出干净的代码,从而有效提升代码质量。
代码整洁之道 程序员的职业素养
作者:[美] Robert C. Martin
译者:余晟 张显洲
推荐理由
这本书是“Bob大叔”40余年编程生涯的心得体会的总结,讲解要成为真正专业的程序员需要具备什么样的态度,需要遵循什么样的原则,需要采取什么样的行动。作者以自己和身边的同事走过的弯路、犯过的错误为例,意在为后来者引路,助其职业生涯迈上更高台阶。
编程珠玑(续 修订版)
作者:[美]Jon Bentley
译者:钱丽艳 刘田
编程珠玑(第2版 修订版)
作者:[美]Jon Bentley
译者:黄倩 钱丽艳
审校:刘田
推荐理由
《编程珠玑》是历史上最伟大的计算机科学著作之一,融深邃思想、实战技术与趣味轶事于一炉。《编程珠玑(续)(修订版)》是《编程珠玑》的姊妹篇,讲述了对于程序员有共性的知识,延续了《编程珠玑》的特色,通过一些精心设计的有趣而又颇具指导意义的程序,对实用程序设计技巧及基本设计原则进行透彻而睿智的描述,为复杂的编程问题提供清晰而完备的解决思路。
《编程珠玑(第2版 修订版)》围绕程序设计人员面对的一系列实际问题展开,作者以其独有的洞察力和创造力,引导读者理解这些问题并学会解决方法,而这些正是程序员实际编程生涯中至关重要的。这两本书对各个层次的程序员都具有很高的阅读价值。
持续交付:发布可靠软件的系统方法
作者:[英]Jez Humble David Farley
译者:乔梁
推荐理由
这是一本软件工程师的职场指南,讲述了如何实现更快、更可靠、低成本的自动化软件交付,描述了如何通过增加反馈,并改进开发人员、测试人员、运维人员和项目经理之间的协作来达到这个目标。作者以自己在苹果、网景等公司中面临的生死攸关的时刻所做的抉择为例,总结了在硅谷摸爬滚打的经验,旨在为软件工程师更好地规划自己的职业生涯提供帮助,适合所有开发人员、测试人员、运维人员和项目经理学习参考。
持续交付2.0 业务引领的DevOps精要
作者:乔梁
推荐理由
这本书的作者乔梁是敏思特咨询公司的联合创始人,持续交付领域专家,敏捷与精益转型导师,任腾讯外聘研发管理顾问,也是《持续交付》一书的译者。作者“重新定义”了持续交付,增补了组织管理和架构两个维度,辅助以真实案例,对诸多持续交付的原则和实践加以解读,并对持续交付过程中的取舍原则加以论述。本书适合大型互联网公司的技术VP、技术负责人,中小型互联网公司的CTO、技术VP、研发/测试/运维负责人、主管及骨干,以及组织变革者阅读。
计算机程序设计艺术(共四卷)
作者:[美]Donald E. Knuth
译者:(卷1)李伯民 范明 蒋爱军;(卷2)巫斌 范明;(卷3)贾洪峰
推荐理由
《计算机程序设计艺术》系列被公认为计算机科学领域的权威之作,深入阐述了程序设计理论,对计算机领域的发展有着极为深远的影响。卷1讲解基本算法,其中包含了其他各卷都需用到的基本内容;卷2全面讲解了半数值算法,分“随机数”和“算术”两章,总结了主要算法范例及这些算法的基本理论,广泛剖析了计算机程序设计与数值分析间的相互联系;卷3全面讲述了排序和查找算法,扩展了卷1中数据结构的处理方法,并对各种算法的效率进行了大量的分析;卷4主要介绍了组合算法,内容涉及布尔函数、按位操作技巧、元组和排列、组合和分区以及所有的树等(中文版待译)。
高效程序员的45个习惯:
敏捷开发修炼之道(修订版)
作者:[美]Venkat Subramaniam Andy Hunt
译者:钱安川 郑柯
推荐理由
这本书生动地阐述并总结了成为高效的开发人员所需具备的45个习惯、思想观念和方法,涵盖了软件开发进程、编程和调试工作、开发者态度、项目和团队管理以及持续学习等几方面。这本书适合所有程序员阅读,《Ajax基础教程》的作者,资深软件工程师Nathaniel T. Schutta评价这本书:“书中‘切身感受’的内容非常有价值——通过它我们可以做到学有所思,思有所悟,悟有所行。”
软技能 代码之外的生存指南
作者:[美]John Z. Sonmez
译者:王小刚
推荐理由
这是一本真正从“人”的角度关注软件开发人员自身发展的书,聚焦于软件开发人员生活的方方面面。从揭秘面试的流程到精耕细作出一份杀手级简历,从创建大受欢迎的博客到打造你,从提高自己工作效率到与如何与“拖延症”做斗争,甚至包括如何投资不动产,如何关注自己的健康。 通过阅读本书,软件工程人员、编程人员和其他技术人员能够积极思考自己的职业生涯,丰富自己的生活,让自己更接近成功。
系统化思维导论
作者:[美]Gerald M. Weinberg
译者:王海鹏
推荐理由
这本书初版于1975年面世,此后四分之一个世纪始终畅销不衰。作者杰拉尔德·温伯格是软件领域最著名的专家之一,美国计算机名人堂代表人物,国际知名的演讲家、作家、顾问。这是一本全面介绍一般系统思维的权威指南,旨在帮助人们掌握科学的思维法则,揭开科学与技术的神秘面纱。书中通过基本的代数原理,使用大量图表、符号,乃至方程来展示探索项目、产品、组织机构等各类系统的方式方法。 这本书适合所有对思考问题感兴趣,希望高效认知世界的读者阅读。
黑客与画家:来自计算机时代的高见
作者:[美]Paul Graham
译者:阮一峰
推荐理由
这本书是硅谷创业之父Paul Graham的文集,以新的视角展示了当今IT技术浸透下的世界。主要介绍黑客的爱好和动机,讨论黑客成长、黑客对世界的贡献,以及编程语言和黑客工作方法等所有对计算机时代感兴趣的人的一些话题。书中的内容不但有助于了解计算机编程的本质、互联网行业的规则,还会帮助读者了解我们这个时代,认识黑客大脑内部的世界,充满了离经叛道的洞见与实践的智慧。适合所有程序员和互联网创业者,也适合一切对计算机行业感兴趣的读者。
思想的传承和借鉴让程序员们跳出了具体编程语言的框架,认识了开发过程的本质。各位程序员不妨仔细研读、品味这些精选的IT好书,利用这些珍贵的思想,创造出更为惊艳的作品!