The Definitive Refactoring Guide, Fully Revamped for Ruby With refactoring, programmers can transform even the most chaotic software into well-designed systems that are far easier to evolve and maintain. What,s more, they can do it one step at a time, through a series of simple, proven steps. Now, there,s an authoritative and extensively updated version of Martin Fowler,s classic refactoring book that utilizes Ruby examples and idioms throughout-not code adapted from Java or any other environment. The authors introduce a detailed catalog of more than 70 proven Ruby refactorings, with specific guidance on when to apply each of them, step-by-step instructions for using them, and example code illustrating how they work. Many of the authors, refactorings use powerful Ruby-specific features, and all code samples are available for download. Leveraging Fowler,s original concepts, the authors show how to perform refactoring in a controlled, efficient, incremental manner, so you methodically improve your code,s structure without introducing new bugs. Whatever your role in writing or maintaining Ruby code, this book will be an indispensable resource. This book will help you * Understand the core principles of refactoring and the reasons for doing it * Recognize "bad smells" in your Ruby code * Rework bad designs into well-designed code, one step at a time * Build tests to make sure your refactorings work properly * Understand the challenges of refactoring and how they can be overcome * Compose methods to package code properly * Move features between objects to place responsibilities where they fit best * Organize data to make it easier to work with * Simplify conditional expressions and make more effective use of polymorphism * Create interfaces that are easier to understand and use * Generalize more effectively * Perform larger refactorings that transform entire software systems and may take months or years * Successfully refactor Ruby on Rails code
......(更多)
Jay Fields是DRWcTrading公司的一名软件程序员,也是一位研讨会的常客。Jay 对发现和成熟化创新式解决方案总是抱有激情,Jay 的个人网站是:www.jayfields.com。
Shane Harvie 在美国、印度和澳大利亚等国的敏捷公司中从事软件开发工作。他现在位于芝加哥的DRW Trading公司工作,个人网站是:www.shaneharvie.com。
Martin Fowler是ThoughtWorks公司的首席科学家,他是一位作家、演说家和咨询师,经常在软件开发活动中发表演讲,他关注的是企业软件设计——诸如什么能产生良好的设计,而良好的设计又需要哪些实践等。他是面向对象技术、重构、模式、敏捷方法论、领域建模、统一建模语言(UML)和极限编程的先行者,近十年来他一直在 ThoughtWorks公司工作,这是一家非常出色的系统开发和咨询公司。
......(更多)
......(更多)
to make the software easier to understand and modify.
......(更多)