1. 《程序员修炼之道》(The Pragmatic Programmer)
第一版发行后,一本与编程有关的书籍可以在20年后继续保持实用性吗?可以,如果这本书具有代码编写技术的永恒智慧的话。
《程序员修炼之道》能启发程序员,更为深入地思考如何应对挑战、与其他人合作以及成为效率更高的程序员。
书中解释了如何对抗软件衰减——使每个大项目中的代码逐渐陷入混乱的强大力量。该书简单介绍了单元测试和重构,并对调试(不要惊慌!)做出合理建议,可有效解决问题,而不会伤害任何程序员自尊。《程序员修炼之道》可帮助你学习一些很酷的程序员术语,比如“正交性”。
该书大约有300页,看起来似乎并不长,但内容紧凑。幸运的是,你无需从头读到尾。每次打开书,浅尝一下,便可能会得到一些实用的建议。
总结:除了《程序员修炼之道》之外,还有一小部分关于代码的经典书籍每个人都喜欢推荐(或至少在桌上摆放着)。其中一本是比尔盖茨最喜欢的睡前读本《代码大全》。同《程序员修炼之道》一样,《代码大全》提供了宝贵建议,但篇幅更长,内容有点枯燥,读起来更像是一本教科书。《代码整洁之道》也是一本质量较高的书,书中部分内容与其他书有所重合,虽然初读时会感受到时间的痕迹,以及其对Java的密切关注,但绝对值得一读。
2.《编码:隐匿在计算机软硬件背后的语言》
这本书其实不应该叫编码——它更应该叫“Petzold教你造计算机”——作者 Charles Petzold 创造性的以编码为主题,从电报机和手电筒讲到数字电路,然后利用 数字电路 中的逻辑门构造出 加法器 和 触发器 ,最后构造出一个完整的 存储程序计算机 。不要被这些电路概念吓到—— 编码 使用大量形象贴切的类比简化了这些概念,使其成为最精彩最通俗易懂的计算机入门读物。
3.《重构》
Martin Fowler和《重构:改善既有代码的设计》(中文版)另几位作者清楚揭示了重构过程,他们为面向对象软件开发所做的贡献,难以衡量。《重构:改善既有代码的设计》(中文版)解释重构的原理(principles)和最佳实践方式(best practices),并指出何时何地你应该开始挖掘你的代码以求改善。《重构:改善既有代码的设计》(中文版)的核心是一份完整的重构名录(catalog of refactoring),其中每一项都介绍一种经过实证的代码变换手法(code transformation)的动机和技术。某些项目如Extract Method和Move Field看起来可能很浅显,但不要掉以轻心,因为理解这类技术正是有条不紊地进行重构的关键。点击进入该书更多详细信息。
4.《设计模式》
这本书结合设计实作例从面向对象的设计中精选出23个设计模式,总结了面向对象设计中最有价值的经验,并且用简洁可复用的形式表达出来。书中分类描述了一组设计良好、表达清楚的软件设计模式,这些模式在实用环境下特别有用。此书适合大学计算机专业的学生、研究生及相关人员参考。
书中涉及的设计模式并不描述新的或未经证实的设计,只收录了那些在不同系统中多次使用过的成功设计。
5.《代码大全》
6.《编程人生》
界顶尖的程序员是怎么走上编程道路的?
他们的编程工作创造和改变了人类历史,在这一过程中都有哪些经验和教训?
他们对计算机软件行业的过去、现在和未来有什么独到的看法和见解?
他们对培养、发现、选拔、面试优秀的程序员有什么建议?
放下手头的工作,听听这些软件先驱们的故事和建议,眼界可以更开阔,思路可以更清晰,方向可以更明确,人生可以更精彩。
7.《深入浅出的设计模式》
这本书的编写运用许多最新的研究,包括神经生物学、认知科学以及学习理论,这使得《深入浅出设计模式》(影印版)能够将这些设计模式深深地烙印在你的脑海中,不容易被遗忘。你将会更擅长于解决软件设计中的问题,并能够和你的团队成员用模式的语言来更好地沟通。
这么好的学习时间可不要荒废了啊。