Skip to content
aipatterns.dev

Code smells

Symptoms that point at a design problem. Each smell lists its signs, the refactorings that treat it, and when it is fine to leave alone.
View as Markdown

Bloaters

5 entries

Smells where methods, classes and parameter lists grow too large to read, test or change safely, usually one small addition at a time.

Smells where object-oriented features are missing or misapplied, such as type switches, half-used fields and inheritance that does not fit.

Smells where one change forces edits in many places, or one class changes for many unrelated reasons, making every edit slow and risky.

Dispensables

6 entries

Smells where code, comments or abstractions add nothing, and removing them makes the program shorter and clearer with no loss of behavior.

Couplers

4 entries

Smells where classes depend too much on each other's data or structure, or where delegation is overused, so one change ripples through others.

Other Smells

2 entries

Smells that do not fit the main groups, currently the gap left when a library class you cannot edit lacks an operation you need.