TARGET DECK: SandiMetz::CodeSmells
Q: The 5 Code Smell categories
A: 1. Bloaters
2. Abusers
3. Preventers
4. Dispensables
5. Couplers
Q: Bloaters description
A: unnecessarily increase the volume of code (more code to understand and maintain)
Q: Abusers description
A: things you could do in OO but maybe you should be a little careful of, and then not do too much.
Q: Preventers description
A: prevent people to easily make changes in code.
Q: Dispensables description
A: arbitrary additions in code that increase its length and don't add much value (most of these things can be done in a simpler way)
Q: Couplers description
A: bind objects together.
Q: 5 Bloater smells
A: - long function
- large class
- data clumps
- long parameter list
- primitive obsession
Q: 6 Abuse smells
A: - repeated switches
- refused bequest
- alternative classes with different interfaces
- temporary field
- global data
- mutable data
Q: 3 Preventer smells
A: - divergent change
- shotgun surgery
- mysterious name
Q: 6 Dispensable smells
A: - lazy element
- speculative generality
- data class
- duplicated code
- loops
- comments
Q: 4 Coupler smells
A: - feature envy
- insider trading
- message chains
- middle man