Nicht aus der Schweiz? Besuchen Sie lehmanns.de
Rails AntiPatterns - Chad Pytel, Tammer Saleh

Rails AntiPatterns

Best Practice Ruby on Rails Refactoring
Buch | Softcover
400 Seiten
2010
Addison-Wesley Educational Publishers Inc (Verlag)
978-0-321-60481-1 (ISBN)
CHF 59,80 inkl. MwSt
  • Titel ist leider vergriffen;
    keine Neuauflage
  • Artikel merken
The Complete Guide to Avoiding and Fixing Common Rails 3 Code and Design Problems

As developers worldwide have adopted the powerful Ruby on Rails web framework, many have fallen victim to common mistakes that reduce code quality, performance, reliability, stability, scalability, and maintainability. Rails™ AntiPatterns identifies these widespread Rails code and design problems, explains why they’re bad and why they happen—and shows exactly what to do instead.



The book is organized into concise, modular chapters—each outlines a single common AntiPattern and offers detailed, cookbook-style code solutions that were previously difficult or impossible to find. Leading Rails developers Chad Pytel and Tammer Saleh also offer specific guidance for refactoring existing bad code or design to reflect sound object-oriented principles and established Rails best practices. With their help, developers, architects, and testers can dramatically improve new and existing applications, avoid future problems, and establish superior Rails coding standards throughout their organizations.

 

This book will help you understand, avoid, and solve problems with



 Model layer code, from general object-oriented programming violations to complex SQL and excessive redundancy
Domain modeling, including schema and database issues such as normalization and serialization
View layer tools and conventions
Controller-layer code, including RESTful code
Service-related APIs, including timeouts, exceptions, backgrounding, and response codes
Third-party code, including plug-ins and gems
Testing, from test suites to test-driven development processes
Scaling and deployment
Database issues, including migrations and validations
System design for “graceful degradation” in the real world

Chad Pytel is the founder and CEO of thoughtbot, a software development firm specializing in Ruby on Rails, and creators of Paperclip, Shoulda, FactoryGirl, and Hoptoad, among other projects. thoughtbot embraces both agile development methodologies and a “getting real” project philosophy. Chad coauthored Pro Active Record: Databases with Ruby and Rails (Apress, 2007) and has presented at various conferences around the world. To follow along with Chad and the rest of the thoughtbot team’s ideas on development, design, technology, and business, visit their blog at http://robots.thoughtbot.com. Tammer Saleh is the director of engineering at Engine Yard. He wrote the Shoulda testing framework, was the primary developer and project manager for thoughtbot’s fantastic Hoptoad service, and is an experienced Ruby on Rails trainer and speaker. In previous lives, he’s done AI development for the NCSA and the University of Illinois, as well as systems administration for both Citysearch.com and Caltech’s Earthquake Detection Network. You can find him online at http://tammersaleh.com.

Foreword         xi Introduction         xiii

Acknowledgments          xvii

About the Authors          xix



 

Chapter 1: Models         1

AntiPattern: Voyeuristic Models   2

AntiPattern: Fat Models   14

AntiPattern: Spaghetti SQL   31

AntiPattern: Duplicate Code Duplication   50

 

Chapter 2: Domain Modeling         73

AntiPattern: Authorization Astronaut   74

AntiPattern: The Million-Model March   79

 

Chapter 3: Views         89

AntiPattern: PHPitis   91

AntiPattern: Markup Mayhem   107

 

Chapter 4: Controllers         117

AntiPattern: Homemade Keys   118

AntiPattern: Fat Controller   123

AntiPattern: Bloated Sessions   154

AntiPattern: Monolithic Controllers   161

AntiPattern: Controller of Many Faces   167

AntiPattern: A Lost Child Controller   170

AntiPattern: Rat’s Nest Resources   180

AntiPattern: Evil Twin Controllers   184

 

Chapter 5: Services         189

AntiPattern: Fire and Forget   190

AntiPattern: Sluggish Services   195

AntiPattern: Pitiful Page Parsing   197

AntiPattern: Successful Failure   201

AntiPattern: Kraken Code Base 207

 

 

Chapter 6: Using Third-Party Code         211

AntiPattern: Recutting the Gem   213

AntiPattern: Amateur Gemologist   214

AntiPattern: Vendor Junk Drawer   216

AntiPattern: Miscreant Modification   217

 

Chapter 7: Testing         221

AntiPattern: Fixture Blues   223

AntiPattern: Lost in Isolation   236

AntiPattern: Mock Suffocation   240

AntiPattern: Untested Rake   246

AntiPattern: Unprotected Jewels   251

 

Chapter 8: Scaling and Deploying         267

AntiPattern: Scaling Roadblocks 268

AntiPattern: Disappearing Assets   271

AntiPattern: Sluggish SQL   272

AntiPattern: Painful Performance   282

 

Chapter 9: Databases         291

AntiPattern: Messy Migrations   292

AntiPattern: Wet Validations   297

 

Chapter 10: Building for Failure         301

AntiPattern: Continual Catastrophe   302

AntiPattern: Inaudible Failures   306

 

Index          311

Erscheint lt. Verlag 18.11.2010
Verlagsort New Jersey
Sprache englisch
Maße 176 x 229 mm
Gewicht 550 g
Themenwelt Informatik Programmiersprachen / -werkzeuge Ruby
Mathematik / Informatik Informatik Web / Internet
ISBN-10 0-321-60481-4 / 0321604814
ISBN-13 978-0-321-60481-1 / 9780321604811
Zustand Neuware
Haben Sie eine Frage zum Produkt?
Mehr entdecken
aus dem Bereich