Whenever I started working on another codebase usually it was written years ago, I always started with trying to cleaning it up. I just called it "Clean up the house". Basically, move things around to make it easier to work with.
The second thing, and funny, is that I will remove almost all "interfaces." Back in the day, we wrote code with interfaces for almost every service, repository, ... "Code with interface not implementation detail." as we said so. It served some purpose back then. But a pain in the ass nowadays! If an interface has only one implementation, it is on my killed list.
A simple and direct codebase is easier to work with. It is an art of abstraction vs concrete.
The second thing, and funny, is that I will remove almost all "interfaces." Back in the day, we wrote code with interfaces for almost every service, repository, ... "Code with interface not implementation detail." as we said so. It served some purpose back then. But a pain in the ass nowadays! If an interface has only one implementation, it is on my killed list.
A simple and direct codebase is easier to work with. It is an art of abstraction vs concrete.