Effective Ruby:編寫高質量Ruby代碼的48個有效方法英文版

Effective Ruby:編寫高質量Ruby代碼的48個有效方法英文版

《Effective Ruby:編寫高質量Ruby代碼的48個有效方法英文版》是2016年4月電子工業出版社出版的圖書,作者是【美】Peter J. Jones(彼得·J·瓊斯)。

基本介紹

  • 中文名:Effective Ruby:編寫高質量Ruby代碼的48個有效方法英文版
  • 作者:【美】Peter J. Jones(彼得·J·瓊斯)
  • 出版時間:2016年4月
  • 出版社電子工業出版社
  • 頁數:232 頁
  • ISBN: 9787121273063
  • 定價:65 元
  • 開本:16 開
  • 裝幀:平裝
內容簡介,編輯推薦,內容提要,目錄,前言,

內容簡介

《Effective Ruby:編寫高質量Ruby代碼的48個有效方法 英文版》是作者Peter J. Jones近十年Ruby開發經驗的結晶。《Effective Ruby:編寫高質量Ruby代碼的48個有效方法 英文版》中為Ruby開發的每個主要領域提供了切實可行的建議,從模組到記憶體,再到元編程。作者利用48個Ruby實戰案例,揭示了Ruby鮮有人知的風格、特色、缺陷,以及對代碼行為和執行極具影響的複雜性。每種實踐方法都包含了具體的、實用的、組織清晰的指導方針,細緻的建議,詳細的專業理由,以及詳盡的示例代碼講解。
《Effective Ruby:編寫高質量Ruby代碼的48個有效方法 英文版》旨在通過全面地介紹Ruby編程技術,幫助Ruby程式設計師及愛好者寫出更健壯、更高效、更易維護的和運行的代碼。

編輯推薦

本書不提倡死板地遵守規則,而是希望通過完整的Ruby編程技術講解,幫助你系統地提高代碼質量。
主要特性包括:
*怎樣避免與Ruby有時讓人出乎意料的特性相關的陷阱
*為了成功掌握Rails(和其他大型框架)你應該知道的繼承等級體系
*如何通過一些被誤解的方法利用集合完成非常有用的工作
*更好地使用異常來提高代碼的可靠性
*強大的元編程方法(和避免使用的技術)
*切實可行的高效測試方案,包括MiniTest單元測試和Spec測試
*怎樣可靠地管理RubyGem依賴
*怎樣創建基本的Ruby記憶體管理和顯示工具
*怎樣通過理解Ruby語言解釋器的內部實現來提高代碼的執行效率

內容提要

《Effective Ruby:編寫高質量Ruby代碼的48個有效方法 英文版》是作者Peter J. Jones近十年Ruby開發經驗的結晶。《Effective Ruby:編寫高質量Ruby代碼的48個有效方法 英文版》中為Ruby開發的每個主要領域提供了切實可行的建議,從模組到記憶體,再到元編程。作者利用48個Ruby實戰案例,揭示了Ruby鮮有人知的風格、特色、缺陷,以及對代碼行為和執行極具影響的複雜性。每種實踐方法都包含了具體的、實用的、組織清晰的指導方針,細緻的建議,詳細的專業理由,以及詳盡的示例代碼講解。
《Effective Ruby:編寫高質量Ruby代碼的48個有效方法 英文版》旨在通過全面地介紹Ruby編程技術,幫助Ruby程式設計師及愛好者寫出更健壯、更高效、更易維護的和運行的代碼。

目錄

Chapter 1: Accustoming Yourself to Ruby
Item 1: Understand What Ruby Considers to Be True
Item 2: Treat All Objects as If They Could Be nil
Item 3: Avoid Ruby’s Cryptic Perlisms
Item 4: Be Aware That Constants Are Mutable
Item 5: Pay Attention to Run-Time Warnings
Chapter 2: Classes, Objects, and Modules
Item 6: Know How Ruby Builds Inheritance Hierarchies
Item 7: Be Aware of the Different Behaviors of super
Item 8: Invoke super When Initializing Subclasses
Item 9: Be Alert for Ruby’s Most Vexing Parse
Item 10: Prefer Struct to Hash for Structured Data
Item 11: Create Namespaces by Nesting Code in Modules
Item 12: Understand the Different Flavors of Equality
Item 13: Implement Comparison via “<=>” and the Comparable Module
Item 14: Share Private State through Protected Methods
Item 15: Prefer Class Instance Variables to Class Variables
Chapter 3: Collections
Item 16: Duplicate Collections Passed as Arguments before Mutating Them
Item 17: Use the Array Method to Convert nil and Scalar Objects into Arrays
Item 18: Consider Set for Efficient Element Inclusion Checking
Item 19: Know How to Fold Collections with reduce
Item 20: Consider Using a Default Hash Value
Item 21: Prefer Delegation to Inheriting from Collection Classes
Chapter 4: Exceptions
Item 22: Prefer Custom Exceptions to Raising Strings
Item 23: Rescue the Most Specific Exception Possible
Item 24: Manage Resources with Blocks and ensure
Item 25: Exit ensure Clauses by Flowing Off the End
Item 26: Bound retry Attempts, Vary Their Frequency, and Keep an Audit Trail
Item 27: Prefer throw to raise for Jumping Out of Scope
Chapter 5: Metaprogramming
Item 28: Familiarize Yourself with Module and Class Hooks
Item 29: Invoke super from within Class Hooks
Item 30: Prefer define_method to method_missing
Item 31: Know the Difference between the Variants of eval
Item 32: Consider Alternatives to Monkey Patching
Item 33: Invoke Modified Methods with Alias Chaining
Item 34: Consider Supporting Differences in Proc Arity
Item 35: Think Carefully Before Using Module Prepending
Chapter 6: Testing
Item 36: Familiarize Yourself with MiniTest Unit Testing
Item 37: Familiarize Yourself with MiniTest Spec Testing
Item 38: Simulate Determinism with Mock Objects
Item 39: Strive for Effectively Tested Code
Chapter 7: Tools and Libraries
Item 40: Know How to Work with Ruby Documentation
Item 41: Be Aware of IRB’s Advanced Features
Item 42: Manage Gem Dependencies with Bundler
Item 43: Specify an Upper Bound for Gem Dependencies
Chapter 8: Memory Management and Performance
Item 44: Familiarize Yourself with Ruby’s Garbage Collector
Item 45: Create Resource Safety Nets with Finalizers
Item 46: Be Aware of Ruby Profiling Tools
Item 47: Avoid Object Literals in Loops
Item 48: Consider Memoizing Expensive Computations
Epilogue
Index

前言

學習一門新的程式語言通常需要經歷兩個階段。第一階段是花費時間學習語義和語言的結構。如果之前有學習新程式語言的經驗,那么這一階段通常很短。以Ruby為例,它的語法和其他面向對象語言非常相似。語言的結構——如何基於語法構建出程式——對於有經驗的程式設計師而言也十分類似。
另一方面,第二階段可能需要花費更多的時間。這一階段需要深入語言,學習其常用模式。大部分語言在解決通用問題上都有獨特的方式,Ruby也是這樣。比如,Ruby使用block和iterator模式來替代顯式循環。學習如何使用“Ruby的方式”來解決問題,並同時避免嚴重錯誤,是這一階段的重點。
這也是本書要解決的問題。但是本書不是一本介紹性圖書。書中假定讀者已經完成了Ruby學習的第一階段——已經學會了其語法和結構。本書的目標是讓讀者學習到Ruby語言的精髓,以及如何編寫更為可靠且易於維護的高效代碼。同時,本書也會介紹Ruby解釋器內部的工作原理,了解這些知識有助於編寫出更加高效的程式。

相關詞條

熱門詞條

聯絡我們