Refactoring: Ruby Edition

ยท ยท ยท
ยท Pearson Education
4.0
2 เด…เดตเดฒเต‹เด•เดจเด™เตเด™เตพ
เด‡-เดฌเตเด•เตเด•เต
480
เดชเต‡เดœเตเด•เตพ
เดฏเต‹เด—เตเดฏเดคเดฏเตเดฃเตเดŸเต

เดˆ เด‡-เดฌเตเด•เตเด•เดฟเดจเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต

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

เดฑเต‡เดฑเตเดฑเดฟเด‚เด—เตเด•เดณเตเด‚ เดฑเดฟเดตเตเดฏเต‚เด•เดณเตเด‚

4.0
2 เดฑเดฟเดตเตเดฏเต‚เด•เตพ

เดฐเดšเดฏเดฟเดคเดพเดตเดฟเดจเต† เด•เตเดฑเดฟเดšเตเดšเต

Jay Fields is a software developer for DRW Trading and a frequent conference presenter. Jay has a passion for discovering and maturing innovative solutions. Jayโ€™s website is available at www.jayfields.com.

Shane Harvie has delivered software in Agile environments in the United States, India, and Australia. He works for DRW Trading in Chicago and blogs at www.shaneharvie.com.

Martin Fowler is Chief Scientist at ThoughtWorks and one of the worldโ€™s leading experts in the effective design of enterprise software. He has pioneered object-oriented development, patterns, agile methodologies, domain modeling, UML, and Extreme Programming. His books include Refactoring, Analysis Patterns, and UML Distilled. His book, Patterns of Enterprise Application Architecture, won Software Developmentโ€™s Jolt Productivity Award and Javaworld.comโ€™s best Java book award.

เดˆ เด‡-เดฌเตเด•เตเด•เต เดฑเต‡เดฑเตเดฑเต เดšเต†เดฏเตเดฏเตเด•

เดจเดฟเด™เตเด™เดณเตเดŸเต† เด…เดญเดฟเดชเตเดฐเดพเดฏเด‚ เดžเด™เตเด™เดณเต† เด…เดฑเดฟเดฏเดฟเด•เตเด•เตเด•.

เดตเดพเดฏเดจเดพ เดตเดฟเดตเดฐเด™เตเด™เตพ

เดธเตโ€ŒเดฎเดพเตผเดŸเตเดŸเตเดซเต‹เดฃเตเด•เดณเตเด‚ เดŸเดพเดฌเตโ€Œเดฒเต†เดฑเตเดฑเตเด•เดณเตเด‚
Android, iPad/iPhone เดŽเดจเตเดจเดฟเดตเดฏเตเด•เตเด•เดพเดฏเดฟ Google Play เดฌเตเด•เตโ€Œเดธเต เด†เดชเตเดชเต เด‡เตปเดธเตโ€Œเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดฏเตเด•. เด‡เดคเต เดจเดฟเด™เตเด™เดณเตเดŸเต† เด…เด•เตเด•เต—เดฃเตเดŸเตเดฎเดพเดฏเดฟ เดธเตเดตเดฏเดฎเต‡เดต เดธเดฎเดจเตเดตเดฏเดฟเดชเตเดชเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเด•เดฏเตเด‚, เดŽเดตเดฟเดŸเต† เด†เดฏเดฟเดฐเตเดจเตเดจเดพเดฒเตเด‚ เด“เตบเดฒเตˆเดจเดฟเตฝ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด“เดซเตโ€Œเดฒเตˆเดจเดฟเตฝ เดตเดพเดฏเดฟเด•เตเด•เดพเตป เดจเดฟเด™เตเด™เดณเต† เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต.
เดฒเดพเดชเตเดŸเต‹เดชเตเดชเตเด•เดณเตเด‚ เด•เดฎเตเดชเตเดฏเต‚เดŸเตเดŸเดฑเตเด•เดณเตเด‚
Google Play-เดฏเดฟเตฝ เดจเดฟเดจเตเดจเต เดตเดพเด™เตเด™เดฟเดฏเดฟเดŸเตเดŸเตเดณเตเดณ เด“เดกเดฟเดฏเต‹ เดฌเตเด•เตเด•เตเด•เตพ เด•เดฎเตเดชเตเดฏเต‚เดŸเตเดŸเดฑเดฟเดจเตโ€เดฑเต† เดตเต†เดฌเต เดฌเตเดฐเต—เดธเตผ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเตเด•เตŠเดฃเตเดŸเต เดตเดพเดฏเดฟเด•เตเด•เดพเดตเตเดจเตเดจเดคเดพเดฃเต.
เด‡-เดฑเต€เดกเดฑเตเด•เดณเตเด‚ เดฎเดฑเตเดฑเต เด‰เดชเด•เดฐเดฃเด™เตเด™เดณเตเด‚
Kobo เด‡-เดฑเต€เดกเดฑเตเด•เตพ เดชเต‹เดฒเตเดณเตเดณ เด‡-เด‡เด™เตเด•เต เด‰เดชเด•เดฐเดฃเด™เตเด™เดณเดฟเตฝ เดตเดพเดฏเดฟเด•เตเด•เดพเตป เด’เดฐเต เดซเดฏเตฝ เดกเต—เตบเดฒเต‹เดกเต เดšเต†เดฏเตเดคเต เด…เดคเต เดจเดฟเด™เตเด™เดณเตเดŸเต† เด‰เดชเด•เดฐเดฃเดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เด•เตˆเดฎเดพเดฑเต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต. เดชเดฟเดจเตเดคเตเดฃเดฏเตเดณเตเดณ เด‡-เดฑเต€เดกเดฑเตเด•เดณเดฟเดฒเต‡เด•เตเด•เต เดซเดฏเดฒเตเด•เตพ เด•เตˆเดฎเดพเดฑเดพเตป, เดธเดนเดพเดฏ เด•เต‡เดจเตเดฆเตเดฐเดคเตเดคเดฟเดฒเตเดณเตเดณ เดตเดฟเดถเดฆเดฎเดพเดฏ เดจเดฟเตผเดฆเตเดฆเต‡เดถเด™เตเด™เตพ เดซเต‹เดณเต‹ เดšเต†เดฏเตเดฏเตเด•.