Refactoring before commit is critical
Refactoring before commit is critical. After code hits prod, it's both harder and riskier to refactor. The code is no longer fresh in your mind, and chances are you didn't write it in the first place.
The ideal time to sniff out needless complexity is during development.
This is why "push it and we'll fix it later" is so risky. It's much harder to fix later, and often doesn't happen at all. Over time, developers begin copying the very anti-patterns that should have never been committed, unaware that they're a problem.
Habits that help avoid these problems:
1. Diff before commit (Ask: Could this be simpler? Assure you're committing only what you planned).
2. Code reviews (Assure co-workers understand and approve).
3. Automated tests (Aids understanding, refactoring, and enhancements later)