Categories of code smells
- bloaters
- long method
- large class
- data clumps
- long param list
- primitive obsession
- toold abusers
- switch statements
- refused bequest
- alt classes with diff interfaces
- temp field
- change preventers
- divergent change
- shotgun surgery
- parallel inheritance hierarchies
dispensables
- lazy class
- speculative genratlity
- data class
- duplicated code
dispensables
- feature envy
- inappropriate intimacy
- message chains - law of demeter violations
-
middle man - solely exists to fwd messages to others
- Get a Whiff of This Sandi Metz talk at Railsconf 2017
- Code Smells on Refactoring.guru
- List of code smells on Reek documentation