In this JAX 2021 keynote, Daniel Terhorst-North, creator of Behaviour-Driven Development, shares his experiences with the famous SOLID principles of Object-Oriented Programming: Single Responsibility, Open-closed, Liskov Substitution, Interface Segregation, Dependency Inversion.
Daniel has been thinking about this for a long time, especially since he poked a stick at the SOLID principles for fun a few years ago and people came after him with pitchforks. Now he has codified his thoughts into his own pithy five-letter acronym, CUPID: Composable, Unix philosophy, Predictable, Idiomatic, Domain-based. Why these characteristics, what do they mean, and why should you care? Can they improve your coding experience or is this just more programmer navel-gazing?