This is a list of things I look out for in a codebase.
General list of bad practices. You may see the points duplicated else where.
- Not being consistent
- Not paying attention to commit history
- Not isolating work into separate commits
- Not following style guides
- Committing commented code
- Long functions
- Spaghetti code
- Bad naming
- Magic constants
- Skipping pre commit hooks
- Skipping already existing tests without good reasons
- A lot of conditions ("if" statements, or "switch" statements)
- Logic is not properly structured
- Should consider a factory
- See Be careful of enum in switch statements
- A lot of hacks