Refactoring: Improving the Design of Existing Code

Refactoring: Improving the Design of Existing Code
ISBN-10
013306526X
ISBN-13
9780133065268
Series
Refactoring
Category
Computers
Pages
99998
Language
English
Published
2012-03-09
Publisher
Addison-Wesley
Authors
Martin Fowler, Kent Beck, John Brant

Description

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.

Other editions

Similar books

  • Refactoring: Improving the Design of Existing Code
    By Martin Fowler, Kent Beck

    It can transform the internal dynamics of applications and has the capacity to transform bad code into good code. This book offers an introduction to refactoring.

  • Refactoring: Improving The Design Of Existing Code
    By Fowler

    Refactoring: Improving The Design Of Existing Code

  • Refactoring Databases: Evolutionary Database Design (paperback)
    By Scott W. Ambler, Pramod J. Sadalage

    The second half of this book systematically covers five major categories of database refactorings.

  • Refactoring for Software Design Smells: Managing Technical Debt
    By Girish Suryanarayana, Ganesh Samarthyam, Tushar Sharma

    A root cause analysis of this problem pointed to the refactoring that the developer had performed. While refactoring the large and complex method, he had accidentally broken the logic that involved thread termination.

  • Refactoring Workbook
    By William C. Wake

    Refactoring Workbook provides user-friendly references such as: A handy, quick-reference "smell finder" A standard format for describing smells Appendices showing key refactorings A listing of Java(tm) tools that support refactoring This ...

  • Professional Refactoring in Visual Basic
    By Danijel Arsenovski

    As you will see, there is no single tool that encompasses all the functionality you need for a successful refactoring process. Visual Studio is on the road to providing a unified solution, but for the time being you have to make an ...

  • Refactoring to Patterns
    By Joshua Kerievsky

    This book introduces the theory and practice of pattern-directed refactorings: sequences of low-level refactorings that allow designers to safely move designs to, towards, or away from pattern implementations.

  • Refactoring at Scale
    By Maude Lemaire

    This book will help you achieve a newfound ability to productively introduce important changes in your codebase.

  • Refactoring HTML: Improving the Design of Existing Web Applications
    By Elliotte Rusty Harold

    It is not uncommon for people ranging from the CEO to managers to HTML grunts to object to the concept of refactoring. The concern is expressed in many ways, but it usually amounts to this: We don't have the time to waste on cleaning up ...

  • Refactoring with Relations. A New Method for Refactoring Object-Oriented Software
    By Jr., Sergio Pissanetzky

    Refactoring is about structure, and the book is about structure. The book proceeds to discuss the structure of code, argues that it needs to be identified, separated from language constructs, and encapsulated into a container.