¥ 15.27 3.1折 ¥ 49 九品
仅1件
作者[美]彼得 J.琼斯 著;刘璐、杨政权、秦五一、孟樊超 译
出版社机械工业出版社
出版时间2016-01
版次1
装帧平装
货号A8
上书时间2024-12-22
本书介绍了改善Ruby程序的48条建议,帮助你编写出易维护且运行快速的Ruby应用程序。它是一本任何Ruby程序员都该读的书。初学者可以学习书中的zui佳实践,从而更好地认识这门语言,有经验的开发者也可以再次审读自己的程序,参考书中介绍的诸多方法进行改进。
如果你是经验丰富的Ruby程序员,本书能帮助你发挥Ruby的全部力量来编写更稳健、高效、可维护和易执行的代码。Peter J.Jones凭借其近十年的Ruby开发经验,总结出48条Ruby的实践、专家建议和捷径,并辅以可执行的代码实例。
Jones在Ruby开发的每个主要领域都给出了实用的建议,从模块、内存到元编程。他对鲜为人知的Ruby方言、怪癖、误区和强力影响代码行为与性能的复杂性的揭示贯穿全书。
每一条都包括具体的、可执行的、清晰组织的指南,还有精细的建议、详尽的技术讨论以及启发性的代码实例。如果存在多种可选方案,Jones也会讲解在特定情况下如何选择方案。
本书将帮助你系统性地改进代码,不是让你盲从准则,而是通过透彻地理解Ruby编程技术来做到这些。
本书内容包括:
● 如何避免Ruby中某些令人惊讶的特质带来的陷阱
● 如果想要无障碍使用Rails(或其他大型框架),你需了解的继承体系
● 如何通过易被误解的方法来用集合进行非常有用操作
● 使用异常来改善代码可靠性的方式
● 实用、有效的测试方案,包括MiniTest Unit和Spec Testing
● 如何可靠地管理RubyGem依赖
● 如何充分利用Ruby的内存管理器和性能分析工具
● 如何通过理解Ruby解析器的内部机制来改进代码效率
作者简介
Peter J. Jones
自由软件开发者,Devalot.com的编程课程资深讲师。他从2005年开始从事Ruby编程,并组织撰写、讲授数个程序开发课程,包括11周的Ruby入门课程。
译者简介
刘璐
资深软件开发工程师,现就职于Thoughtworks中国。她主要从事Ruby、Java开发,前端开发也有涉猎,参与多个项目的系统设计与开发,热爱编程,对高质量的代码有着执着的追求(这是Thoughtworks员工的公共属性)。
序
前言
第1章 让自己熟悉Ruby 1
第1条:理解Ruby中的True 1
第2条:所有对象的值都可能为nil 3
第3条:避免使用Ruby中古怪的Perl风格语法 5
第4条:留神,常量是可变的 8
第5条:留意运行时警告 11
第2章 类、对象和模块 15
第6条:了解Ruby如何构建继承体系 16
第7条:了解super的不同行为 21
第8条:初始化子类时调用super 25
第9条:提防Ruby最棘手的解析 28
第10条:推荐使用Struct而非Hash存储结构化数据 31
第11条:通过在模块中嵌入代码来创建命名空间 34
第12条:理解等价的不同用法 38
第13条:通过"<=>"操作符实现比较和比较模块 44
第14条:通过protected方法共享私有状态 48
第15条:优先使用实例变量而非类变量 50
第3章 集合 54
第16条:在改变作为参数的集合之前复制它们 55
第17条:使用Array方法将nil及标量对象转换成数组 58
第18条:考虑使用集合高效检查元素的包含性 61
第19条:了解如何通过reduce方法折叠集合 65
第20条:考虑使用默认哈希值 69
第21条:对集合优先使用委托而非继承 73
第4章 异常 79
第22条:使用定制的异常而不是抛出字符串 79
第23条:捕获可能的最具体的异常 84
第24条:通过块和ensure管理资源 87
第25条:通过临近的end退出ensure语句 90
第26条:限制retry次数,改变重试频率并记录异常信息 94
第27条:throw比raise更适合用来跳出作用域 96
第5章 元编程 99
第28条:熟悉Ruby模块和类的钩子方法 99
第29条:在类的钩子方法中执行super方法 105
第30条:推荐使用def?ine_method而非method_missing 107
第31条:了解不同类型的eval间的差异 113
第32条:慎用猴子补丁 118
第33条:使用别名链执行被修改的方法 123
第34条:支持多种Proc参数数量 126
第35条:使用模块前置时请谨慎思考 130
第6章 测试 133
第36条:熟悉单元测试工具MiniTest 133
第37条:熟悉MiniTest的需求测试 137
第38条:使用Mock模拟特定对象 139
第39条:力争代码被有效测试过 143
第7章 工具与库 149
第40条:学会使用Ruby文档 149
第41条:认识IRB的高级特性 152
第42条:用Bundler管理Gem依赖 155
第43条:为Gem依赖设定版本上限 159
第8章 内存管理与性能 163
第44条:熟悉Ruby的垃圾收集器 163
第45条:用Finalizer构建资源安全网 168
第46条:认识Ruby性能分析工具 171
第47条:避免在循环中使用对象字面量 177
第48条:考虑记忆化大开销计算 179
后记 182
— 没有更多了 —
以下为对购买帮助不大的评价