The 3 laws of Robotics applied to OOP

As a junior developer I sometimes struggled to anticipate the consequences of architectural choices, favoring immediate simplicity and readability over (what I interpreted as) theoretical purity. Being a good teacher, life made sure that I got a chance to see the wisdom in SOLID principles. Even though the principle names make for a cool acronym collectively, they are quite cryptic individually.…