وبلاگ بلیان

Refactoring - Improving the Design of Existing Code

معرفی کتاب «Refactoring - Improving the Design of Existing Code» نوشتهٔ Martin Fowler، Kent Beck، John Brant، William Opdyke و Don Roberts، منتشرشده توسط نشر Addison-Wesley Professional در سال 1999. این کتاب در 9 صفحه، فرمت pdf، زبان انگلیسی ارائه شده است. «Refactoring - Improving the Design of Existing Code» در دستهٔ برنامه‌نویسی قرار دارد.

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. 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 Software, 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. 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 had been made to transcribe the lore into a form that all developers could use until now. In this book the author bre Content......Page 3 Foreword......Page 6 Preface......Page 8 Chapter 1. Refactoring, a First Example......Page 13 Chapter 2. Principles in Refactoring......Page 46 Chapter 3. Bad Smells in Code......Page 63 Chapter 4. Building Tests......Page 73 Chapter 5. Toward a Catalog of Refactorings......Page 85 Chapter 6. Composing Methods......Page 89 Chapter 7. Moving Features Between Objects......Page 115 Chapter 8. Organizing Data......Page 138 Chapter 9. Simplifying Conditional Expressions......Page 192 Chapter 10. Making Methods Calls Simpler......Page 220 Chapter 11. Dealing with Generalization......Page 259 Chapter 12. Big Refactorings......Page 293 Chapter 13. Refactoring, Reuse, and Reality......Page 311 Chapter 14. Refactoring Tools......Page 328 Chapter 15. Putting It All Together......Page 333 Bibliography. References......Page 336 Content 3 Foreword 6 Preface 8 Chapter 1. Refactoring, a First Example 13 Chapter 2. Principles in Refactoring 46 Chapter 3. Bad Smells in Code 63 Chapter 4. Building Tests 73 Chapter 5. Toward a Catalog of Refactorings 85 Chapter 6. Composing Methods 89 Chapter 7. Moving Features Between Objects 115 Chapter 8. Organizing Data 138 Chapter 9. Simplifying Conditional Expressions 192 Chapter 10. Making Methods Calls Simpler 220 Chapter 11. Dealing with Generalization 259 Chapter 12. Big Refactorings 293 Chapter 13. Refactoring, Reuse, and Reality 311 Chapter 14. Refactoring Tools 328 Chapter 15. Putting It All Together 333 Bibliography. References 336 Refactoring,programming,improving,design,code Refactoring Users can dramatically improve the design, performance, and manageability of object-oriented code without altering its interfaces or behavior. "Refactoring" shows users exactly how to spot the best opportunities for refactoring and exactly how to do it, step by step. Martin Fowler ; With Contributions By Kent Beck ... [et Al.]. Includes Bibliographical References.
دانلود کتاب Refactoring - Improving the Design of Existing Code