Functional Decomposition

This smell occurs when the experienced developers coming from procedural languages background write highly procedural and non-object-oriented code in an object-oriented language. When developers are comfortable with a "main" routine that calls numerous subroutines, they may tend to make every subroutine a class, ignoring class hierarchies altogether (and pretty much ignoring object orientation entirely).

Related smells: Tree-like Dependency Graph


W. Brown, R. Malveau, H. McCormick, T. Mowbray, “AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis”. John Wiley & Sons, 1998.

Design Smells


All rights reserved (c) Tushar Sharma 2017-23.