04894nam 2200673 450 991046352370332120210507145155.00-12-801646-9(CKB)2670000000574844(EBL)1831025(SSID)ssj0001367287(PQKBManifestationID)12538380(PQKBTitleCode)TC0001367287(PQKBWorkID)11428143(PQKB)10808576(MiAaPQ)EBC1831025(CaSebORM)9780128013977(Au-PeEL)EBL1831025(CaPaEBR)ebr10985419(CaONFJC)MIL659412(OCoLC)894791687(EXLCZ)99267000000057484420141202h20152015 uy 0engur|n|---|||||txtccrRefactoring for software design smells managing technical debt /Girish Suryanarayana, Ganesh Samarthyam, Tushar Sharma1st editionWaltham, Massachusetts ; :Morgan Kaufmann,2015.©20151 online resource (259 p.)Description based upon print version of record.0-12-801397-4 1-322-28132-7 Includes bibliographical references and index.FrontCover; Refactoring forSoftware DesignSmells; Copyright; Dedication; Contents; Foreword by Grady Booch; Foreword by Dr. Stéphane Ducasse; Preface; WHAT IS THIS BOOK ABOUT?; WHAT DOES THIS BOOK COVER?; WHO SHOULD READ THIS BOOK?; WHAT ARE THE PREREQUISITES FOR READING THIS BOOK?; HOW TO READ THIS BOOK?; WHERE CAN I FIND MORE INFORMATION?; WHY DID WE WRITE THIS BOOK?; Acknowledgments; Chapter 1 - Technical Debt; 1.1 WHAT IS TECHNICAL DEBT?; 1.2 WHAT CONSTITUTES TECHNICAL DEBT?; 1.3 WHAT IS THE IMPACT OF TECHNICAL DEBT?; 1.4 WHAT CAUSES TECHNICAL DEBT?; 1.5 HOW TO MANAGE TECHNICAL DEBT?Chapter 2 - Design Smells2.1 WHY CARE ABOUT SMELLS?; 2.2 WHAT CAUSES SMELLS?; 2.3 HOW TO ADDRESS SMELLS?; 2.4 WHAT SMELLS ARE COVERED IN THIS BOOK?; 2.5 A CLASSIFICATION OF DESIGN SMELLS; Chapter 3 - Abstraction Smells; 3.1 MISSING ABSTRACTION; 3.2 IMPERATIVE ABSTRACTION; 3.3 INCOMPLETE ABSTRACTION; 3.4 MULTIFACETED ABSTRACTION; 3.5 UNNECESSARY ABSTRACTION; 3.6 UNUTILIZED ABSTRACTION; 3.7 DUPLICATE ABSTRACTION; Chapter 4 - Encapsulation Smells; 4.1 DEFICIENT ENCAPSULATION; 4.2 LEAKY ENCAPSULATION; 4.3 MISSING ENCAPSULATION; 4.4 UNEXPLOITED ENCAPSULATION; Chapter 5 - Modularization Smells5.1 BROKEN MODULARIZATION5.2 INSUFFICIENT MODULARIZATION; 5.3 CYCLICALLY-DEPENDENT MODULARIZATION; 5.4 HUB-LIKE MODULARIZATION; Chapter 6 - Hierarchy Smells; 6.1 MISSING HIERARCHY; 6.2 UNNECESSARY HIERARCHY; 6.3 UNFACTORED HIERARCHY; 6.4 WIDE HIERARCHY; 6.5 SPECULATIVE HIERARCHY; 6.6 DEEP HIERARCHY; 6.7 REBELLIOUS HIERARCHY; 6.8 BROKEN HIERARCHY; 6.9 MULTIPATH HIERARCHY; 6.10 CYCLIC HIERARCHY; Chapter 7 - The Smell Ecosystem; 7.1 THE ROLE OF CONTEXT; 7.2 INTERPLAY OF SMELLS; Chapter 8 - Repaying Technical Debt in Practice; 8.1 THE TOOLS; 8.2 THE PROCESS; 8.3 THE PEOPLEAppendix A - Software Design PrinciplesA.1 ABSTRACTION; A.2 ACYCLIC DEPENDENCIES PRINCIPLE; A.3 DON'T REPEAT YOURSELF PRINCIPLE; A.4 ENCAPSULATION; A.5 INFORMATION HIDING PRINCIPLE; A.6 KEEP IT SIMPLE SILLY; A.7 LISKOV'S SUBSTITUTION PRINCIPLE; A.8 HIERARCHY; A.9 MODULARIZATION; A.10 OPEN/CLOSE PRINCIPLE; A.11 SINGLE RESPONSIBILITY PRINCIPLE; A.12 VARIATION ENCAPSULATION PRINCIPLE; Appendix B - Tools for Repaying Technical Debt; Appendix C - Notations for Figures; Appendix D - Suggested Reading; D.1 ESSENTIALS; D.2 REFACTORING AND REENGINEERING; D.3 PATTERNS AND ANTI-PATTERNSD.4 TECHNICAL DEBTBibliography; IndexAwareness of design smells - indicators of common design problems - helps developers or software engineers understand mistakes made while designing, what design principles were overlooked or misapplied, and what principles need to be applied properly to address those smells through refactoring. Developers and software engineers may ""know"" principles and patterns, but are not aware of the ""smells"" that exist in their design because of wrong or mis-application of principles or patterns. These smells tend to contribute heavily to technical debt - further time owed to fix projects thought to bSoftware refactoringSoftware failuresElectronic books.Software refactoring.Software failures.005.1/6Suryanarayana Girish861983Samarthyam GaneshSharma TusharMiAaPQMiAaPQMiAaPQBOOK9910463523703321Refactoring for software design smells1924009UNINA