出版时间:2009-1 出版社:人民邮电出版社 作者:Kent Beck 页数:176 译者:李剑,熊节,郭晓刚
Tag标签:无
前言
这是一本关于如何写好代码的书。如果你不认为写好代码是一件重要、困难并且有趣的事,请立即放下这本书。什么是好的代码?可以工作的、性能良好的、不出bug的代码,就是好的代码吗?所谓好的代码,除了其他所有要求以外,还应该清晰准确地传达写作者的想法。Martin Fowler在《重构:改善既有代码的设计》里说,“任何一个傻瓜都能写出机器能懂的代码。好的程序员应该写出人能懂的代码。”如果你不同意这句话,请立即放下这本书。因为这是一本关于如何用代码与他人(而非机器)沟通的书。任何读到这一行的程序员都应该读完这本书。Steve McConnell在《代码大全》里说,“不要过早优化,但也不要过早劣化”。这本书将告诉你如何在几乎不引入任何额外成本的前提下避免一些常见的低级错误——它们是常见的,因为几乎每个人都犯过并且还在犯着这些错误。如果你确实没有时间,至少应该读完第6章“状态”。因为在各种常见的低级错误中最常见的就是关于“什么信息在什么地方”的决策错误。在这样一本书的序言里说任何废话都将是佛头着粪。所以,现在就祝你阅读愉快、编程愉快。是为序。
内容概要
在本书中,作者将自己多年形成的编程习惯以及阅读既有代码的体验凝练成了编程中的价值观、原则和77种实现模式。 沟通、简单和灵活的价值观应当被所有开发人员所铭记。局部影响、最小化重复、将逻辑与数据捆绑等原则同样是通用性的指导思想,比价值观更贴近编程场景,在价值观和模式之间搭建了桥梁。在77种实现模式中,每一种模式都覆盖了编写简洁、清晰、易扩展、易维护的代码这一原则的某个方面。它们为日常的编程提供了丰富翔实的参考依据,并告诉大家这些代码如何为降低沟通成本和提高有效产出提供保障。 本书适用于各个阶段的开发者群体。刚刚涉足软件开发领域的新人能够透过大师的眼睛来看待编程,了解编程的价值观与原则;具有丰富经验的资深工程师则可以通过这些模式进行反思,探究成功实践背后的意义。把价值观、原则和开发实践结合之后,日常开发工作便会以崭新迷人的形式呈现在我们面前。
作者简介
Kent Beck,软件业中最具创新力、最富盛名的领袖之一。长期以来,他一直致力于挑战软件工程教条,推动模式、测试驱动开发以及极限编程等思想的应用和传播。他是T11tee RIvers Institute的创始人和董事,也是Agitar Software的成员。他在AddIson?Wesley出版了多本书籍,其中包括丁est-Driven Dpeve蛔pment(中译版《测试驱动开发》),以及与CyrlthiaAndres合著的Extreme Programming Explained(中译版《解析极限编程》)。
书籍目录
第1章 引言 1.1 导游图 1.2 那么,现在…… 第2章 模式 第3章 一种编程理论 3.1 价值观 3.2 原则 3.3 小结 第4章 动机 第5章 类 5.1 类 5.2 简单的超类名 5.3 限定性的子类名 5.4 抽象接口 5.5 interface 5.6 抽象类 5.7 有版本的interface 5.8 值对象 5.9 特化 5.10 子类 5.11 实现器 5.12 内部类 5.13 实例特有的行为 5.14 条件语句 5.15 委派 5.16 可插拔的选择器 5.17 匿名内部类 5.18 库类 5.19 小结 第6章 状态 第7章 行为 第8章 方法 第9章 容器 第10章 改进框架 附录A 性能度量 A.1 示例 A.2 API A.3 实现 A.4 MethodTimer A.5 冲抵额外开销 A.6 测试 A.6.1 容器的比较 A.6.2 ArrayList和LinkedList的比较 A.6.3 Set之间的比较 A.6.4 Map之间的比较 A.7 小结 参考书目
章节摘录
插图:
媒体关注与评论
“Kent是用代码来沟通的大师,他的代码条分缕析,明晓清晰,如益友携手,如良师解惑,令人豁然开朗。” ——Erich Gamma,IBM杰出工程师
编辑推荐
在《实现模式》中,作者收集了77种模式,用于处理日常编程任务,编写可读性更高的代码这个新的模式集合涵盖了开发中的诸多方面,包括类、状态、行为、方法、容器及框等。图表、故事、示例和随笔的配合使用,使作者笔下的种种模式显得异彩纷呈,从中以发现许多经受过实践检验的解决方案,小至变量命名,大到异常检查。《实现模式》包括以下内容:通过代码进行交流的重要性和隐藏在模式背后的思想;何时创建类,如何创建类,类又是怎样书写逻辑的;存储和获取状态的最佳实践;行为,即用于表述逻辑《包括可选执行路径)的模式;编写方法,为方法命名,以及对方法进行分解;选择和使用容器;实现模式在用于构建框架时的变体。
图书封面
图书标签Tags
无
评论、评分、阅读与下载