- Application-level, class-level, and method-level.
- Boolean blindness, combinatorial explosion, contrived complexity, data clump, deodorant comments, duplicate code, lost intent, mutation of variables, oddball solution, shotgun surgery, solution sprawl, and uncontrolled side effects.
- Cyclomatic complexity, divergent change, downcasting, excessive literal use, feature envy, inappropriate intimacy, indecent exposure, large class (also known as God object), lazy class (also known as freeloader and lazy object), middleman class, an orphan class of variables and constants, primitive obsession, refused bequest, speculative generality, Tell, don't ask!, and temporary field.
- Black sheep, cyclomatic complexity, contrived complexity, dead code, excessive data return, feature envy, identifier size, inappropriate intimacy, long line aka God line, lazy method, long method (God method), long parameter list (too many parameters...