Refactoring: Improving the Design of Existing Code

By Martin Fowler, Kent Beck, John Brant, William Opdyke & Don Roberts


Refactoring: Improving the Design of Existing Code - Martin Fowler, Kent Beck, John Brant, William Opdyke & Don Roberts

More by Martin Fowler, Kent Beck, John Brant, William Opdyke & Don Roberts : Refactoring: Improving the Design of Existing Code


Related Books

As the application of object technology--particularly the Java programming language--has become commonplace, a new problem has emerged to confront the software development community. Significant numbers of poorly designed programs have been created by less-experienced developers, resulting in applications that are inefficient and hard to maintain and extend. Increasingly, software system professionals are discovering just how difficult it is to work with these inherited, "non-optimal" applications. For several years, expert-level object programmers have employed a growing collection of techniques to improve the structural integrity and performance of such existing software programs. Referred to as "refactoring," these practices have remained in the domain of experts because no attempt has been made to transcribe the lore into a form that all developers could use. . .until now. In Refactoring: Improving the Design of Existing Code, renowned object technology mentor Martin Fowler breaks new ground, demystifying these master practices and demonstrating how software practitioners can realize the significant benefits of this new process.

With proper training a skilled system designer can take a bad design and rework it into well-designed, robust code. In this book, Martin Fowler shows you where opportunities for refactoring typically can be found, and how to go about reworking a bad design into a good one. Each refactoring step is simple--seemingly too simple to be worth doing. Refactoring may involve moving a field from one class to another, or pulling some code out of a method to turn it into its own method, or even pushing some code up or down a hierarchy. While these individual steps may seem elementary, the cumulative effect of such small changes can radically improve the design. Refactoring is a proven way to prevent software decay.

In addition to discussing the various techniques of refactoring, the author provides a detailed catalog of more than seventy proven refactorings with helpful pointers that teach you when to apply them; step-by-step instructions for applying each refactoring; and an example illustrating how the refactoring works. The illustrative examples are written in Java, but the ideas are applicable to any object-oriented programming language.

0201485672B04062001


Search
Recent Posts
Independent Animation
Mastering Xcode 7 and Swift
Programming iOS 11
iOS Apps for Masterminds 3rd Edition
Diving In - iOS App Development for Non-Programmers
Code
The Formula
UX Design Process
Objective-C for Swift Developers
Swift Cookbook
iOS 11 App Development Essentials
Программирование в Delphi
Creating Apps for iOS devices such as iPhone, iPod touch and iPad
Code Simplicity
Beginning Swift Games Development for iOS
Learn FileMaker Pro 16
Practical iOS 11
The Psychology of Computer Programming: Silver Anniversary eBook Edition
Escape the Game: How to Make Puzzles and Escape Rooms
Server-Side Swift: Vapor Edition
Javascript
Core Data
Core Motion and Core Location
Game Programming Algorithms and Techniques
Cocoa and Objective-C: Up and Running
Swift Programming
Automate the Boring Stuff with Python
Coding iPhone Apps for Kids
Learn to Code in Swift 4
AppleScript 1-2-3
Hacking with Swift
How to Hack: A Beginners Guide to Becoming a Hacker
Coders at Work
Coding All-In-One for Dummies
Think Like a Programmer
Introducing Ethereum and Solidity
Theory of Fun for Game Design
Learning AV Foundation
Flying with Objective-C - iOS App Development for Non-Programmers
iOS Programming: The Big Nerd Ranch Guide, 3/e
The Ultimate Unofficial Beginner's Guide For Playing Minecraft
iOS Programming
Objective-C Programming For Dummies
FileMaker & Me
R Programming
Hackers
Playground Secrets and Power Tips
The Pragmatic Programmer: From Journeyman to Master
Real Life Java
iOS Storyboards
Cocoa Programming for OS X
iOS 7 App Development Essentials
Head First Java
Tap, Move, Shake
iOS Programming
Basic ROBLOX Lua Programming
iOS 8 App Development Essentials
Swift Programming
Test-Driven iOS Development
The iOS 5 Developer's Cookbook: The Additional Recipes: Additional Recipes Found Only in the Expanded Electronic Edition
Swift Swift View Controllers
Game Programming Patterns
Version Control with Git
Algorithms, 4/e
C++
iOS 9 App Development Essentials
Patterns of Enterprise Application Architecture
Building iOS Apps
Visual Basic .NET for complete beginners
R Programming for Data Science
Swift Development with Cocoa
iOS Auto Layout Demystified, 2/e
Functional Swift
101 Amazing Nintendo NES Facts
Swift in 24 Hours, Sams Teach Yourself
Aprende iOS: Primeros Pasos
A Newbies Guide to Developing an iPhone Game App
Learning Cocoa with Objective-C
Developing Mobile Games Using Swift
Swift From Two to Three
M Is for (Data) Monkey
Learn Windows PowerShell in a Month of Lunches, Third Edition
Graphics and Animation on iOS
Hadoop: The Definitive Guide
iOS 8 Application Development in 24 Hours, Sams Teach Yourself, 6/e
Minecraft Redstone For Dummies
Idea to iPhone
Swift Quick Syntax Reference
The Business of iPhone and iPad App Development
Regular Expression Pocket Reference
Core Objective-C in 24 Hours
iOS 10 App Development Essentials
vi and Vim Editors Pocket Reference
Game Coding Complete, Fourth Edition
iOS Apps for Masterminds, 2n Edition
Introducing Regular Expressions
R for Dummies
Microsoft Access VBA Programming for the Absolute Beginner, Fourth Edition
Growing Object-Oriented Software, Guided by Tests
iOS Drawing: Practical UIKit Solutions