@brainail it’s not simple, but it’s not impossible to build large applications/frameworks that are maintainable and testable; I don’t believe doing such things requires more boiler plate than not. It starts to come down to do you want something that is easy to work on now, or in the future. If it’s now, you write a bunch of code now and it’s easy because it’s all in your head. Then 6 months later, you have to add more functionality, so you start from scratch because it’s a big ball of mud.
The other side is, you spend time separating concerns and creating obvious seams such that it becomes possible to build your entire system in a unit test environment without coupling yourself to the world (thanks to test builders responsible for being coupled to the architecture of the system.)