Test Driven Development has been something I have done off an on (and generally not well) in my recent projects. This has led to me returning to projects later and making changes that introduce new bugs. It takes more time to write good tests, but it is super important to developing great software. I am getting better at doing this and have been trying to read a lot of programming masters books to improve myself. I still am not great at refactoring code even if I have tests (I’d rather build new stuff!), but am slowly starting to follow best practices.