Confident Ruby
查字典图书网
当前位置: 查字典 > 图书网 > 编程> Confident Ruby

Confident Ruby

7.7

作者: Avdi Grimm
副标题: 32 Patterns for Joyful Coding
出版年: 2013-10-22
页数: 282
定价: USD 35.00
装帧: PDF/EPUB
ISBN: 9787564229993



推荐文章

猜你喜欢

附近的人在看

推荐阅读

拓展阅读

内容简介:

For many programmers, discovering Ruby is a revelation. They are overjoyed by how elegantly and succinctly they can state problems in the language. But then the real world creeps in, and that joy gradually wanes as the code becomes cluttered with distracting edge case scenarios, error handling, and checks for nil.

Confident Ruby is a guide to recapturing the joy of writing Ruby by employing small patterns and stylistic choices to make each method tell a coherent story. Over the course of 32 patterns, you’ll learn how to isolate uncertainty at the borders of your code; how to avoid repetitive conditionals; and how to liberate your code from the chore of nil-checking. You’ll discover the four parts of a method, and how to use those parts to construct a narrative. Following along with real-world refactoring sessions, you’ll learn how to apply these lessons to legacy code.

Whether you are a novice or an experienced Ruby hacker, this book will help you become a more confident and joyful programmer.

作者简介:

Avdi Grimm has been hacking Ruby code for over 10 years, and is still loving it. He is chief aeronaut at ShipRise, head chef at RubyTapas.com, and a co-host of the Ruby Rogues podcast. He lives in southern Pennsylvania with his wife and five children.

目录:

Introduction

- Ruby meets the real world

- Confident code

- A good story, poorly told

- Code as narrative

- The four parts of a method

- 3.times { rejoice! }

- Collecting Input

Sending a strong message

- Conditionally call conversion methods

- Define your own conversion protocols

- Define conversions to user-defined types

- Use built-in conversion functions

- Use the Array() conversion function to array-ify inputs

- Define conversion functions

- Replace “string typing” with classes

- Wrap collaborators in Adapters

- Use transparent adapters to gradually introduce abstraction

- Reject unworkable values with preconditions

- Use #fetch to assert the presence of Hash keys

- Document assumptions with assertions

- Handle special cases with a Guard Clause

- Represent special cases as objects

- Represent do-nothing cases as null objects

- Substitute a benign value for =nil=

- Use #fetch for defaults

- Use symbols as placeholder objects

- Bundle arguments into parameter objects

- Yield a parameter builder object

- Receive policies instead of data

Delivering Output

- Write total functions

- Call back instead of returning

- Represent failure with a benign value

- Represent failure with a special case object

- Return a status object

- Yield a status object

- Signal early termination with =throw=

Handling Failure

- Prefer top-level rescue clause

- Use checked methods for risky operations

- Use bouncer methods

Refactoring for Confidence

- MetricFu

- Stringer

- Parting Words

展开全文
热门标签:
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  •