Skip to content

XP123

Exploring Extreme Programming

Menu

Primary menu

  • Home
  • Refactoring Workshop
  • Start Here
    • Comics
    • TDD: Test-Driven Development
    • Refactoring
    • User Stories
    • Dungeons & Patterns
  • Update
  • About
  • Contact

Category Archives: xp123.com

AAA and the Object Lifecycle

Posted on February 23, 2026 by Bill Wake

We’ll look at how Arrange-Act-Assert (AAA) tests reflect the lifecycle of the objects we’re working with. Object Lifecycle An object has a basic lifecycle: create (command | query)* (abandon | delete) That is, create the object, do a series of Continue reading AAA and the Object Lifecycle→

Posted in xp123.com | Tagged programmer, tdd, XPlorations

“Test Interface, Not Implementation”

Posted on January 23, 2026 by Bill Wake

“Test Interface, Not Implementation” Perhaps you’ve heard the phrase “Test interface, not implementation”, or its relative, “Test behavior, not implementation”. We’ll look at this from the TDD perspective, growing a system in small steps of testing and refactoring. Note: I Continue reading “Test Interface, Not Implementation”→

Posted in xp123.com | Tagged design, programmer, tdd, XPlorations

How to Reduce Coupling, Three Ways

Posted on November 4, 2025 by Bill Wake

Two objects are coupled if changing one requires us to change the other. (See Yourdon and Constantine.) We’d like to reduce coupling, since it makes changing code more complicated. A change in a highly-coupled object requires a change in others, Continue reading How to Reduce Coupling, Three Ways→

Posted in xp123.com | Tagged design, programmer, XPlorations

Reordering Items, Four Ways

Posted on September 22, 2025 by Bill Wake

Recently I needed to implement a drag-and-drop reordering, with persistence. At least with SwiftUI, reordering is easy if it’s all in memory: you have an array of items, the UI tells you which ones were dragged and where, and you Continue reading Reordering Items, Four Ways→

Posted in xp123.com | Tagged design, programmer, XPlorations

And-Or Trees

Posted on September 10, 2024 by Bill Wake

Suppose you want to represent a finite set of possibilities in a compact way. An And-Or Tree can do this, and is useful in several situations. An And-Or Tree has leaf nodes and interior nodes. The leaf nodes contain some Continue reading And-Or Trees→

Posted in xp123.com | Tagged design, programmer, XPlorations

Run Tests Without an App — Step by Step with Xcode

Posted on August 1, 2024 by Bill Wake

I’m frustrated when unit tests run slowly. One way to speed them up in Xcode when developing using a simulator: isolate your model to a framework, and run your tests without a host application. Context: Developing a Swift-based app for Continue reading Run Tests Without an App — Step by Step with Xcode→

Posted in xp123.com | Tagged tdd, XPlorations

Swift Testing – A New Unit Testing Framework

Posted on July 5, 2024 by Bill Wake

Apple has introduced a new unit testing framework. It has a simpler syntax, much simpler assertions, parameterized testing, and more. Let’s take a look. You can find a bonus cheatsheet at the end of this article. Easier Syntax XCTest (the Continue reading Swift Testing – A New Unit Testing Framework→

Posted in xp123.com | Tagged programmer, tdd, XPlorations

TDD with a Function Pipeline

Posted on June 6, 2024 by Bill Wake

Our “geek” group tackled a problem a couple weeks ago, that one of us had heard suggested by Michael Feathers: given a sequence of numbers, tell how many non-zero runs it has. Ron Jeffries described a procedural implementation; we’ll look Continue reading TDD with a Function Pipeline→

Posted in xp123.com | Tagged design, programmer, refactoring, XPlorations

Trees – Confidence in Design

Posted on May 2, 2024 by Bill Wake

Test-Driven Development (TDD) depends on assembling well-tested parts into a trustworthy whole. Some design structures make this easier. Today, we’ll look at trees. A tree is a structure consisting of leaf and interior nodes. An interior node contains some number Continue reading Trees – Confidence in Design→

Posted in xp123.com | Tagged design, programmer, tdd, XPlorations

Pipelines – Confidence in Design

Posted on April 4, 2024 by Bill Wake

The other day, Kent Beck pointed out a skill that test-driven development (TDD) relies on but doesn’t give much guidance about: “behavioral composition”. This is the skill of dividing a big behavior in such a way that we trust the Continue reading Pipelines – Confidence in Design→

Posted in xp123.com | Tagged design, programmer, tdd, XPlorations

Post navigation

← Older posts

Primary Sidebar Widget Area

Stay Up-to-Date

If you'd like to hear when articles come out, sign up today!

|●  Become a Patron!

Recent Posts

  • AAA and the Object Lifecycle
  • “Test Interface, Not Implementation”
  • How to Reduce Coupling, Three Ways
  • Reordering Items, Four Ways
  • And-Or Trees
  • Run Tests Without an App — Step by Step with Xcode
  • Swift Testing – A New Unit Testing Framework
  • TDD with a Function Pipeline
  • Trees – Confidence in Design
  • Pipelines – Confidence in Design

Tags

agile analysis atdd author business charts classic coach computers conference cool customer design economics fiction games HCI history improv integration interesting intro Java job aids language lean learning metaphor music myth patterns planning programmer refactoring resources reviews scrum software spreadsheet stories tdd team tester training XPlorations

Archives

counter for wordpress
Copyright © 2026 XP123. All Rights Reserved.
Theme: Catch Box by Catch Themes
Scroll Up