The Five Principles for Solid Software Design (2017) | Hacker News Reader