Friday, April 16, 2021

Code Craftspersonship with S.O.L.I.D. (SOLID) for Java, Swift, Kotlin


Code craftspersonship is important as it is what allows code to be adjustable in the future. If it's not adjustable, then you're assuming that you're only releasing ONCE, and who does that? If software is valuable, then we'll keep adding more features the market would like. So it's the job of a professional developer to enable this ability, otherwise, what you are delivering is not as valuable after the first release.

A popular model introduced by Bob Martin in Clean Code is S.O.L.I.D.



Learning how to put SOLID to work and then teach your team will bring a lot of value to your software and organization. Here are resources I recommend for individuals and teams to learn how to apply SOLID to Java, Swift, and Kotlin. (I'll add more as they come up on my day job as a technical coach.)

Language Agnostic Materials

This introduction teaches with cartoons and is my favorite resource on this whole page!  


This next is a slide deck that teaches with CRC diagrams: https://www.slideshare.net/sjabnouni/solid-code-by-example

If you want more details, Code magazine has a very nice article by Derick Bailey that shows how a project starts with something simple and evolves into something requiring more design: https://www.codemag.com/Article/1001061/S.O.L.I.D.-Software-Development-One-Step-at-a-Time

Java


Swift


Kotlin


https://www.slideshare.net/ionutbilica/solid-design-principles-applied-in-java