At many times in my career, my future self has been very angry at my past self. Sometimes it’s clever code that is completely unreadable. Other times, its complex object hierarchies that cause confusion. There have been a number ofpremature optimizations gone awry. However most times, it’s just the right code written in the wrong place.
Over time, I started seeing problems. I started to see my future self, or some other developer, and the work needed to sort out the mess I’m creating. Code is written once (or a least a small number of times), but it could be read hundreds of times. I learned the value of optimizing maintainability.
I will turn use cases into promises (PromiseKit), extend framework classes to provide the needed toolset, document the app-wide layout and assumptions, and demonstrate a VIPER like architecture for a simple app.