- comments being too verbose, and making reference to the previous code. Also just using phrases that no human would ever use (e.g. saying 'gate', 'belt-and-braces' a lot)
- over-using default arguments in method definitions
- failing to see the bigger picture in terms of DRYness, code organisation
- way too much defensive coding like handling edge cases that would never happen, adding fallbacks for everything