𝔖 Scriptorium
✦   LIBER   ✦

πŸ“

Refactoring for Software Design Smells: Managing Technical Debt

✍ Scribed by Girish Suryanarayana, Ganesh Samarthyam, Tushar Sharma


Publisher
Morgan Kaufmann
Year
2014
Tongue
English
Leaves
244
Edition
1
Category
Library

⬇  Acquire This Volume

No coin nor oath required. For personal study only.

✦ Synopsis


Awareness 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 be complete – and need to be addressed via proper refactoring.

Refactoring for Software Design Smells presents 25 structural design smells, their role in identifying design issues, and potential refactoring solutions. Organized across common areas of software design, each smell is presented with diagrams and examples illustrating the poor design practices and the problems that result, creating a catalog of nuggets of readily usable information that developers or engineers can apply in their projects. The authors distill their research and experience as consultants and trainers, providing insights that have been used to improve refactoring and reduce the time and costs of managing software projects. Along the way they recount anecdotes from actual projects on which the relevant smell helped address a design issue.

  • Contains a comprehensive catalog of 25 structural design smells (organized around four fundamental design principles) that contribute to technical debt in software projects
  • Presents a unique naming scheme for smells that helps understand the cause of a smell as well as points toward its potential refactoring
  • Includes illustrative examples that showcase the poor design practices underlying a smell and the problems that result
  • Covers pragmatic techniques for refactoring design smells to manage technical debt and to create and maintain high-quality software in practice
  • Presents insightful anecdotes and case studies drawn from the trenches of real-world projects

✦ Table of Contents


Content:
Front Matter, Page iii
Copyright, Page iv
Dedication, Page v
Foreword by Grady Booch, Page ix
Foreword by Dr. StΓ©phane Ducasse, Page xi
Preface, Pages xiii-xviii
Acknowledgments, Page xix
Chapter 1 - Technical Debt, Pages 1-7
Chapter 2 - Design Smells, Pages 9-19
Chapter 3 - Abstraction Smells, Pages 21-60
Chapter 4 - Encapsulation Smells, Pages 61-91
Chapter 5 - Modularization Smells, Pages 93-122
Chapter 6 - Hierarchy Smells, Pages 123-192
Chapter 7 - The Smell Ecosystem, Pages 193-201
Chapter 8 - Repaying Technical Debt in Practice, Pages 203-212
Appendix A - Software Design Principles, Pages 213-215
Appendix B - Tools for Repaying Technical Debt, Pages 217-222
Appendix C - Notations for Figures, Pages 223-224
Appendix D - Suggested Reading, Pages 225-226
Bibliography, Pages 227-230
Index, Pages 231-237


πŸ“œ SIMILAR VOLUMES


Refactoring for software design smells:
✍ Samarthyam, Ganesh;Sharma, Tushar;Suryanarayana, Girish πŸ“‚ Library πŸ“… 2015 πŸ› Morgan Kaufmann 🌐 English

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

Managing Technical Debt: Reducing Fricti
✍ Philippe Kruchten, Robert Nord, Ipek Ozkaya πŸ“‚ Library πŸ“… 2019 πŸ› Addison-Wesley Professional 🌐 English

β€œThis is an incredibly wise and useful book. The authors have considerable real-world experience in delivering quality systems that matter, and their expertise shines through in these pages. Here you will learn what technical debt is, what is it not, how to manage it, and how to pay it down in respo

Managing Technical Debt: Reducing Fricti
✍ Philippe Kruchten, Robert Nord, Ipek Ozkaya πŸ“‚ Library πŸ“… 2019 πŸ› Addison-Wesley Professional 🌐 English

<span> <br> </span><span>β€œThis is an incredibly wise and useful book. The authors have considerable real-world experience in delivering quality systems that matter, and their expertise shines through in these pages. Here you will learn what technical debt is, what is it not, how to manage it, and ho