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

The Little Things Comments

I got myself into trouble by installing rvm incorrectly. Reading a single article did not suffice to get myself out of trouble, so let this become the single article that you can use to get yourself out of trouble.

Read on →

Integrated Tests Are a Scam Comments

Programmers cling to integrated tests in part because of a feeling of security. I consider this a false sense of security, but it only seems fair to answer the common question of how I keep contract tests and collaboration tests aligned.

Read on →

Integrated Tests Are a Scam, Simple Design, Test Doubles Comments

When it comes to organizing collaboration and contract tests, I don’t do anything special: I mostly follow the two elements of simple design.

Read on →

Tutorials, Microtechniques Comments

I decided to learn some sed, because of its ubiquity and its power.

Read on →

Simple Design Comments

Every year I work with programmers who overcomplicate dependency injection. This causes stress and it influences other programmers to not even try this technique at all. I’d like to put your mind at ease with some advice to keep things simple.

Read on →

Read on →

Simple Design, Test Doubles Comments

People frequently ask me for “advanced TDD”. I have good news and bad news.

Read on →

Simple Design Comments

By following a few simple design principles, you can make code safe to use without making it difficult to examine nor adapt to new purposes. Give me guard rails, not prison bars!

Read on →

Integrated Tests Are a Scam, Test Doubles Comments

If you’re thinking about starting to use Contract Tests, don’t look for tools, because they don’t help you with the most important aspect of Contract Tests, and they might even distract you from it.

Read on →

Simple Design Comments

Years ago, I learned a simple heuristic to discover when subclasses are ready to die. In functional programming, it appears that we can use that same heuristic to surprisingly good effect!

Read on →