分享

分享 | 推荐开发者阅读的六本精品书籍

 北书房2014 2015-09-17

来源:droidyue.com


作为一名程序员,日常的工作除了上班撸代码就是加班撸代码了。


撸码其实不难,无非询问 Google,StackOverflow,解决方法和 demo 一箩筐,可是撸的一手好代码着实不易。无独有偶,码农一抓一大把,优秀的程序员却不易寻觅。优秀的程序员既不可能出自各种天花乱坠的培训机构,更不可能来自挖掘机摇篮山东布鲁斯特,大多数优秀的程序员有一个共同点,那就是自学。


为什么是自学呢?首先大学的教育不可能让你成为专家级别的程序员,其次为了能从团队脱颖而出必然付出更多的努力来学习。自学其实是一种很强有力的能力,一旦掌握,许多技术和问题都可以轻松搞定。


中学物理常客牛顿曾说,“如果我比别人看得更远,那是因为我站在巨人的肩上”。


他山之石,可以攻玉。阅读大师巨匠的作品无疑是最有效的自学方式之一。业界知名的 Bob 大叔是代码整洁和面向对象编程的坚定支持推进者,其在这方面的著作可以称得上权威。Martin Fowler 同样名声在外,他的关于重构的著作《重构—-改善既有代码的设计》应该是人手一本。阅读诸如上面两位大家的著作,对技术提到大有裨益。


本文将列举六本业界牛人的著作,也是编程书籍中经典的经典,这几本书并非简单的教程书籍,而是教给你方法和思想来解决现实遇到的问题,提高编码的技艺和境界。


《重构—-改善既有代码的设计》




何为重构,一言以蔽之,就是在不改变外部行为的前提下,有条不紊地改善代码。本书虽然使用 Java 语言书写示例代码,但是其概念与思想同样适合于其他语言。书中,作者以一些平淡无奇,甚至带有坏味道的代码开始,一步一步地修改转变成更加灵活,可重用的代码。通过书中的示例,你会清楚地明白什么才是整洁的代码。重构其实依然成为经验丰富的程序员的必备技能,当你想要改善重构代码时,读一读这本书就会让你有章可循,豁然开朗。



《代码整洁之道》




这是我最喜欢的一本书,不止一次我将它推荐给我的同事,读者还有学生。我认为它可以称得上软件开发与编码方便最好的一本书。


Bob 大叔我想无需做介绍,他写过一个关于敏捷开发的系列书籍,我的书架上就有他的 《代码整洁之道》,《程序员的职业素养》, 《敏捷软件开发(原则模式与实践)》,《敏捷软件开发(原则模式与实践)》,《UML for Java For Programmers》, 《Extreme Programming in Practice》等这些书籍。虽然他的这些书有点老旧,但是这些书仍然很有价值,纵使数十年之后,这些书依旧受用,尤其是在面向对象编程方面。


本书不仅仅是告诉你要做什么,还教会你什么不能做。书中有关于代码味道的一个章节,全面列举了大多数程序员遇到的各种错误,其后的章节则详细描述如何纠正这些错误。比如如何将过长的 switch 声明转换成遵循开放闭合原则的模型,如何利用集成和多态。再次啰嗦一下,这本书确实值得每个程序员拥有。


和上本书一样,书中的例子使用 Java 语言,但依然适合使用其他面向对象编程语言的开发者阅读。想要撸的一手好码,这本书必不可少。



《代码大全》




想必这本书大家都曾阅读过,这就是鼎鼎大名的《代码大全》,从某个角度看,它其实就是 C++ 版的《代码整洁之道》。


本书的目标就是帮开发者使用做高质的代码写出更好的软件。同样书中也涉及了编程中常见问题和最佳实践。这本书也可以称得上是必读书籍,尤其是对于 C 和 C++ 程序员。《代码大全(第 2 版)》中所论述的技术不仅填补了初级与高级编程实践之间的空白,而且也为程序员们提供了一个有关软件开发技术的信息来源。


《代码大全(第 2 版)》对经验丰富的程序员、技术带头人、自学的程序员及没有太多编程经验的学生都是大有裨益的。可以说,只要您具有一定的编程基础,想成为一名优秀的程序员,阅读《代码大全(第 2 版)》都不会让您失望。


《单元测试的艺术》




如果非要做一件改善项目,提高开发者水平的事情,我想那就是让开发者掌握单元测试的能力。


对于专业的开发者来说,单元测试是一项必备的技能,多数的程序员却不具备 TDD(测试驱动开发)的能力。我虽然在不太遵循 TDD 这种模式,但是也会为自己写的或维护的代码编写单元测试。


对于工程来说,开源项目基本都严格遵守执行单元测试,而很多商业的工程则在单元测试方面有所缺失。一个拥有单元测试的项目会变得更加容易维护和更改。本书会介绍成功的项目与失败项目的差别,可维护的代码库与不可维护的代码库之间的区别。


本书示例为 .NET 代码,但这并不会影响你了解单元测试。如果你是一名技术负责人或者项目负责人,这本书可以帮你更好地把控项目代码质量。如果你看 Java 更舒服的话,也可以看一看这本书《JUnit实战(第2版)》。


《精益软件开发管理之道》




《精益软件开发管理之道》是一本软件开发方法学的书。


作者从 24 个不同的视角,在更大的空间、时间、行业、文化背景下,考察了敏捷和精益方法。《精益软件开发管理之道》详细阐述了敏捷和精益开发方法取得成功的深层原因。


《精益软件开发管理之道》包括以下内容:系统思考,以适当足够的方式关注客户;技术杰出,介绍了杰出软件开发的基础-低耦合的架构、测试驱动的开发过程等;可靠交付,讨论了工作流和日程计划,以及反馈的重要作用;无情改进,讨论了所有精益组织的基本特点:持续不断、永不满足的改进;卓越的人,卓越的结果来自于卓越的人;一致的领导,讨论在领导团队中达成一致。


《设计模式 可复用面向对象软件的基础》




这本书要么你读过,要么就是听说过,这就是经典的 GOF(Gang of Four 中文译为四人帮)设计模式一书。


该书作者为四人,分别是 Eric Gamma, Richard Helm, Ralph Johnson, 和 John Vissides。四位顶尖的面向对象领域专家精心选取了最具价值的设计实践,加以分类整理和命名,并用简洁而易于重用的形式表达出来。


本书已经成为面向对象技术人员的圣经和词典,书中定义的 23 个模式逐渐成为开发界技术交流所必备的基础知识和语汇。使用这些设计模式,我们可以设计出灵活,优雅和可重用的可扩展的设计。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多