Chapter 2

Design Smells

Abstract

Design smells are certain structures in the design that indicate violation of fundamental design principles and negatively impact design quality. This chapter provides a brief overview of design smells and various factors that lead to the occurrence of smells. This chapter presents the core idea behind a principle-based classification scheme for design smells discussed in this book: “When we view every smell as a violation of one or more underlying design principle(s), we get a deeper understanding of that smell; but perhaps more importantly, it also naturally directs us toward a potential refactoring approach for that smell.” Building on this insight, this chapter introduces the PHAME (Principles of Hierarchy, Abstraction, ...

Get Refactoring for Software Design Smells now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.