LEADER 04894nam 2200673 450 001 9910463523703321 005 20210507145155.0 010 $a0-12-801646-9 035 $a(CKB)2670000000574844 035 $a(EBL)1831025 035 $a(SSID)ssj0001367287 035 $a(PQKBManifestationID)12538380 035 $a(PQKBTitleCode)TC0001367287 035 $a(PQKBWorkID)11428143 035 $a(PQKB)10808576 035 $a(MiAaPQ)EBC1831025 035 $a(CaSebORM)9780128013977 035 $a(Au-PeEL)EBL1831025 035 $a(CaPaEBR)ebr10985419 035 $a(CaONFJC)MIL659412 035 $a(OCoLC)894791687 035 $a(EXLCZ)992670000000574844 100 $a20141202h20152015 uy 0 101 0 $aeng 135 $aur|n|---||||| 181 $ctxt 182 $cc 183 $acr 200 10$aRefactoring for software design smells $emanaging technical debt /$fGirish Suryanarayana, Ganesh Samarthyam, Tushar Sharma 205 $a1st edition 210 1$aWaltham, Massachusetts ; :$cMorgan Kaufmann,$d2015. 210 4$dİ2015 215 $a1 online resource (259 p.) 300 $aDescription based upon print version of record. 311 $a0-12-801397-4 311 $a1-322-28132-7 320 $aIncludes bibliographical references and index. 327 $aFrontCover; Refactoring forSoftware DesignSmells; Copyright; Dedication; Contents; Foreword by Grady Booch; Foreword by Dr. Ste?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? 327 $aChapter 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 Smells 327 $a5.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 PEOPLE 327 $aAppendix 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-PATTERNS 327 $aD.4 TECHNICAL DEBTBibliography; Index 330 $aAwareness 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 b 606 $aSoftware refactoring 606 $aSoftware failures 608 $aElectronic books. 615 0$aSoftware refactoring. 615 0$aSoftware failures. 676 $a005.1/6 700 $aSuryanarayana$b Girish$0861983 702 $aSamarthyam$b Ganesh 702 $aSharma$b Tushar 801 0$bMiAaPQ 801 1$bMiAaPQ 801 2$bMiAaPQ 906 $aBOOK 912 $a9910463523703321 996 $aRefactoring for software design smells$91924009 997 $aUNINA