- Remove unreachable code, code that doesn’t do anything and code that was put to set up for future features that never materialised.
- Fix hard coding by creating a dynamic interface to allow the value to be changed.
- Overuse of inheritance creates tightly coupled, non-flexible code. Focus on composition to solve this.
- Refactor overly complex comments by extracting methods or variables.
- Refactor data clumps by creating a new parameter object or extracting the class.
Full post here, 5 mins read