That’s actually the biggest challenge - that improving things in a real codebase is very dangerous - without tests. If we try to improve the architecture or code, but don’t have tests, even though we might have good intentions, it could lead to disaster - we introduce a regression bug, then have to face the blame, and may even lead to managers “banning“ refactoring.
The challenge is knowing how to improve things in a real codebase without making things worse.
That’s actually the biggest challenge - that improving things in a real codebase is very dangerous - without tests. If we try to improve the architecture or code, but don’t have tests, even though we might have good intentions, it could lead to disaster - we introduce a regression bug, then have to face the blame, and may even lead to managers “banning“ refactoring.