Design & Development Principles - XP - Quality Circle - Part 1

As a reminder; CIRCLES! This post is going to talk about the Green Circle. Another reminder is the tight interconnection between all of the components. I posted about the blue Keyboard Circle a while back. It's time to talk about the Quality Circle. Quality Circle The quality circle is what…

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…

My Thoughts: Pass through vs Base class

A conflict that has come up a few times is using composition and a pass through or a base class I favor pass through; I write it that way Everytime. The other engineer on the project favors a base class. Here's an example of what we've encountered a few times…

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.…

µObject Poker: Scoring a Hand

I found I'm not a huge fan of the video. I don't tend to put a lot of time and effort into each post; it's an opportunity for me to share research and experimentation with the world; as well as give myself a searchable brain. :) The video took WAY too…

µ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…

µObjects: Pizza Shop - Review

The Pizza Shop The Start More µObjects New Requirements Calzoned The Final I started the Pizza Shop example to show how to apply µObjects in code; Using a very similar process I do in production code. From there, working through the changes and applying them. Originally I hoped to show…

µObjects: Pizza Shop - Calzoned!

The pizza shop is expanding it's offerings! CALZONES! We'll do a 1/2 calzone and a full calzone! $8 and $14 respectively. Based on how we did the Medium pizza last time... Not expecting much work for these. Which... THAT'S THE POINT! µObjects make this easy. Removing a topping... Excellent.…