Refactoring Dinner: Interfaces instead of Inheritance

Last time, in Cooking Up a Good Template Method, I had a template method cooking our dinner. An abstract base class defined the template—the high level steps for preparing a one-skillet dinner—and a derived class provided the implementation for those … Continue reading 

Posted in refactoring, unit testing | 2 Comments

Cooking Up a Good Template Method

The software concept of “raising the level of abstraction” has improved my skill and creativity in cooking, by teaching me to think about recipe components in terms of their properties and functions. Practicing abstraction-raising in cooking feeds back to help … Continue reading 

Posted in Design Patterns | 9 Comments

Inconvenient Accessibility Makes Self-Documenting Code

Intentional use of access modifiers (public, private, etc.) is like a clear memo to your team. This came up during Steve Bohlen‘s Virtual Alt.Net talk on domain-driven design. Steve explained the distinction between Entity objects, which have a unique identity … Continue reading 

Posted in DDD | Leave a comment

Why Argue About Words?

From the opening session of Alt.Net 2007… Nearly as loud as the argument about changing the Alt.Net name is the camp saying “who cares what it’s named?” I don’t have a problem with the Alt.Net name, and I’m past bored … Continue reading 

Posted in Conference | Leave a comment

Why Scrum?

Why not scrum? Until about January, our shop had been significantly process-encumbered. Where we could, those of us who cared implemented small strategies for improvement—preaching code readability, meticulous source control, building as if your code will still be in use … Continue reading 

Posted in agile | Leave a comment

Blowing Off the Blog Dust

Funny thing about using Scrum at work: there was suddenly a lot more work at work. Fun and consuming work. So I stepped out of the blogosphere and began to live in my IDE. Three changes bring me back: I’ve … Continue reading 

Posted in Uncategorized | Leave a comment