Think twice; don't feed the beast.
- Backwards compatibility, "This way handles version X, which end-of-life was 10 years ago."
- Unit tests with too much overlap. "Should add positive nums, Adds neg nums, Adds zero, …"
Tests that are not connected to anything. You'll have FooTest but it's all mocks, never connect to Foo. My favorite was something like Assert('this function is able to destroy a planet') which returns true as just because it asserted a string.
Comments as signboards where to go next.
Really specific comments like `Alice function has been moved to RepositoryAlice`. Especially things that nobody would ever ask about.