Start The World's Best Introduction to TDD... free!

Simple Design, Refactoring, Evolutionary Design, Programming Without Blame Comments

TDD is for those who don’t know how to design software, which doesn’t have to mean that we’re all dopes who are doomed to perpetual failure. Let’s explore this idea through the lens of an experienced practitioner suddenly confronted with some sharp words from a luminary in our field.

Read on →

Read on →

Programming Without Blame Comments

“TDD or BDD?” or “Functional Tests or Unit Tests?” Write any tests! The more clearly you understand the purpose of those tests, the more these apparent dilemmas will fade into the background.

Read on →

Simple Design Comments

It’s easy to give the instruction to reveal intent, but harder to provide helpful examples. I’d like to provide a tiny one that illustrates the point quite clearly—at least to me.

Read on →

Simple Design, Mock Objects, Refactoring Comments

When you notice that you need “too many” stubs (mocks for querying data), you have at least two helpful options for refactoring. Here is an example of using the more-aggressive of the two options: replacing a stub with the stubbed value.

Read on →

Refactoring, Improving Names, Simple Design Comments

Let’s look at a simple example of a name. Let’s judge the name (kindly!), then imagine some likely next steps in refactoring. We can learn and do quite a lot from only a single name!

Read on →

Refactoring Comments

No, tests aren’t supposed to make refactoring easier; they make refactoring safer. Sometimes, by accident, they do both.

Read on →

Simple Design, Refactoring Comments

The stronger your refactoring skill, the more easily you can use architecture advice as guidelines instead of as rules to enforce. This makes it significantly more likely that you’ll invest wisely in architecture, rather than over- or under-​engineer.

Read on →

Read on →

Read on →

Read on →

Refactoring, Simple Design, Evolutionary Design Comments

The most common definition of “refactoring” suffers from a common weakness that creates big problems for a very specific group of people. I’d like to help.

Read on →