网站首页  软件下载  游戏下载  翻译软件  电子书下载  电影下载  电视剧下载  教程攻略

请输入您要查询的图书:

 

书名 Ruby最佳实践(影印版)
分类 教育考试-考试-计算机类
作者 (美)布朗
出版社 东南大学出版社
下载
简介
编辑推荐

你能够编写真正优雅的Ruby代码吗?《Ruby最佳实践》正是为想要像专家那样使用Ruby的程序员所准备的。本书由Ruby项目Prawn的开发者所著,简洁地向你阐释如何使用Ruby编写优美的应用程序接口和领域特定语言。此外,还包括如何应用函数式编程的思想和技术,使代码更简洁,使你更有效率。通过本书,你将会学到如何编写可读性更高,表达能力更强的代码,以及许多其他方面的内容。

内容推荐

《Ruby最佳实践》将会帮助你:

* 理解Ruby代码块所蕴含的神秘力量

* 学习如何在不破坏原有Ruby代码的情况下进行调整,例如运行时在模块内糅合

* 探究测试与调试中的细节,以及如何从易测性出发进行设计

* 学习通过让事情保持简单来编写快速代码

* 用于文本处理和文件管理的开发策略,包括正则表达式

* 理解为什么会发生错误以及错误是如何发生的

* 利用Ruby的多语言特性减少文化障碍

本书还包含多个章节对测试代码、设计应用程序接口以及项目维护做了全面介绍。《Ruby最佳实践》将陪伴你学习如何将这门丰富、优美的语言发挥到极致。

目录

Foreword

Preface

1. Driving Code Through Tests

 A Quick Note on Testing Frameworks

 Designing for Testability

 Testing Fundamentals

Well-Focused Examples

Testing Exceptions

Run the Whole Suite at Once

 Advanced Testing Techniques

Using Mocks and Stubs

Testing Complex Output

 Keeping Things Organized

Embedding Tests in Library Files

Test Helpers

Custom Assertions

 Conclusions

2. Designing Beautiful APIs

 Designing for Convenience: Ruport's Table( ) feature

 Ruby's Secret Power: Flexible Argument Processing

Standard Ordinal Arguments

Ordinal Arguments with Optional Parameters

Pseudo-Keyword Arguments

Treating Arguments As an Array

 Ruby's Other Secret Power: Code Blocks

Working with Enumerable

Using Blocks to Abstract Pre- and Postprocessing

Blocks As Dynamic Callbacks

Blocks for Interface Simplification

 Avoiding Surprises

Use attr_reader, attr_writer, and attr_accessor

Understand What method? and method! Mean

Make Use of Custom Operators

 Conclusions

3. Mastering the Dynamic Toolkit

 BlankSlate: A BasicObject on Steroids

 Building Flexible Interfaces

Making instance_eval() Optional

Handling Messages with method_missing() and send()

Dual-Purpose Accessors

 Implementing Per-Object Behavior

 Extending and Modifying Preexisting Code

Adding New Functionality

Modification via Aliasing

Per-Object Modification

 Building Classes and Modules Programmatically

 Registering Hooks and Callbacks

Detecting Newly Added Functionality

Tracking Inheritance

Tracking Mixins

 Conclusions

4. Text Processing and File Management

 Line-Based File Processing with State Tracking

 Regular Expressions

Don't Work Too Hard

Anchors Are Your Friends

Use Caution When Working with Quantifiers

 Working with Files

Using Pathname and FileUtils

 The tempfile Standard Library

Automatic Temporary Directory Handling

Collision Avoidance

Same Old I/O Operations

Automatic Unlinking

 Text-Processing Strategies

Advanced Line Processing

 Atomic Saves

 Conclusions

5. Functional Programming Techniques

 Laziness Can Be a Virtue (A Look at lazy.rb)

 Minimizing Mutable State and Reducing Side Effects

 Modular Code Organization

 Memoization

 Infinite Lists

 Higher-Order Procedures

 Conclusions

6. When Things Go Wrong

 A Process for Debugging Ruby Code

 Capturing the Essence of a Defect

 Scrutinizing Your Code

Utilizing Reflection

Improving inspect Output

Finding Needles in a Haystack

 Working with Logger

 Conclusions

7. Reducing Cultural Barriers

 m17n by Example: A Look at Ruby's CSV Standard Library

 Portable m17n Through UTF-8 Transcoding

Source Encodings

Working with Files

Transcoding User Input in an Organized Fashion

 m17n in Standalone Scripts

Inferring Encodings from Locale

Customizing Encoding Defaults

 m17n-Safe Low-Level Text Processing

 Localizing Your Code

 Conclusions

8. Skillful Project Maintenance

 Exploring a Well-Organized Ruby Project (Haml)

 Conventions to Know About

What Goes in a README

Laying Out Your Library

Executables

Tests

Examples

 API Documentation via RDoc

Basic Documentation Techniques and Guidelines

Controlling Output with RDoc Directives

 The RubyGems Package Manager

Writing a Gem::Specification

Working with Dependencies

 Rake: Ruby's Built-in Build Utility

 Conclusions

A. Writing Backward-Compatible Code

B. Leveraging Ruby's Standard Library

C. Ruby Worst Practices

Index

随便看

 

霍普软件下载网电子书栏目提供海量电子书在线免费阅读及下载。

 

Copyright © 2002-2024 101bt.net All Rights Reserved
更新时间:2025/3/1 15:28:55