Last week, we had the author of TDD for a Shopping Website LiveProject. Friday at 11am Ranch time, Steven Solomon will be hosting a live TDD session just for us. See for the agenda and registration link
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
  • Campbell Ritchie
  • Paul Clapham
  • Ron McLeod
  • Jeanne Boyarsky
  • Tim Cooke
  • Liutauras Vilda
  • paul wheaton
  • Henry Wong
Saloon Keepers:
  • Tim Moores
  • Tim Holloway
  • Stephan van Hulst
  • Carey Brown
  • Frits Walraven
  • Piet Souris
  • Himai Minh

"Refactoring for Software Design Smells" - Book information and sample chapter

Posts: 63
  • Likes 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
To facilitate the discussion and help readers understand the scope of the book, I am putting down the relevant information about the book "Refactoring for Software Design Smells: Managing Technical Debt".

The sample text covering two design smells can be found here.

Information about the book:
The book is geared towards software developers and architects. The book presents 25 structural design smells, how they uncover 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. 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. The book describes how the overall quality of software can be improved significantly and technical debt can be reduced by finding and addressing smells in the design.

Companion website:
Amazon web page of the book:

Table of Contents
Foreword by Grady Booch
Foreword by Dr. St├ęphane Ducasse

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 Smells
2.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
5.1 Broken Modularization
5.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
Appendix A
Appendix B
Appendix C
Appendix D
Happily living in the valley of the dried frogs with a few tiny ads.
Free, earth friendly heat - from the CodeRanch trailboss
    Bookmark Topic Watch Topic
  • New Topic