Patterns: Null Object

I've covered never having nulls and that's what the NullObject pattern is here to help us with. The NullObject pattern is one that I tried to implement earlier in my career (mostly after reading about it) and never managed to get it to stick. I now know that it never stuck because I never did it right. I got close. I got rid of the nulls; but never the Null [Read More]

Book Review: The Nature of Software Development

TL;DR: I loved the book. Go read it. Over the past few years working with a team of XP devs who've been using the XP practices for well over a decade each has taught me a lot. These amazing colleagues have helped me grow in just about every way. Including technically, which was a surprise to me. The technical growth wasn't direct from them teaching me new things; but [Read More]

µObjects: Being Cohesive

Cohesion for objects is how well the behaviors in the class belong together. Some very non-cohesive behaviors would be multiplying two numbers and splitting a string. Multiplying and Raising to a power can be very cohesive behaviors. How do µObjects do cohesion? That's what this is about. The simplest is - They only have one behavior. Let's dig into a little detail. µObjects are single purpose. Intrinsicly highly cohesive class [Read More]

Book Review: Beyond Legacy Code

Read It It's a fantasic book; and you should read it. Beyond Legacy Code This is one of the books that will help developers understand the best practices that lead to quality code. I started reading this book a year after I started applying the XP practices and really striving to do what is being talked about here. Beyond Legacy Code has provided new insights and arguments for, largely, the [Read More]

µObjects: Where our code meets the user

There's a couple types of places where the code we write interacts with the code someone else wrote. This could be another team, a 3rd party library, or the operating system. When we interact with these components, we're tying our code to their code in some fashion. The more these libraries are referenced in our code; the tighter we're coupling our code to their code. The issue here is that [Read More]