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

Tag Archives: programmer

Local Refactorings

Posted on February 3, 2021 by Bill Wake

To refactor is to systematically “improve the design of existing code”. There are many ways to classify refactorings, but one distinction stands out to me: local refactorings. A local refactoring affects only one file (and perhaps its tests). Why Local? Continue reading Local Refactorings→

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

Primitives, Products, and Sums – TDD Patterns

Posted on January 27, 2021 by Bill Wake

Primitive types are the basis of others. They’re typically small (ish), and don’t involve repetition or recursion. We’ve already looked at numbers; today we’ll look at Booleans, characters, and simple enumerations. Beyond that, we’ll look at combining values via product Continue reading Primitives, Products, and Sums – TDD Patterns→

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

Integers, Floats, and Partitions – TDD Patterns

Posted on January 20, 2021 by Bill Wake

Partitions can help us divide up our input space for testing purposes, but what drives the partitions we use, and how do we choose suitable examples for TDD? We’ll look at several concerns: Problem-Oriented Partitions  Solution-Oriented Partitions Partitions Arising from Continue reading Integers, Floats, and Partitions – TDD Patterns→

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

TDD is an Alchemy Trick: Points and Partitions

Posted on January 13, 2021 by Bill Wake

Alchemists sought to transmute lead into gold. TDD turns a small set of examples into code that handles the whole range of inputs. Quite a trick – how does it work? TDD often implicitly uses the idea of partitions; we’ll Continue reading TDD is an Alchemy Trick: Points and Partitions→

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

Observability, Constructor Test, Invariants – TDD Patterns

Posted on December 16, 2020 by Bill Wake

In Test-Driven Development (TDD), it’s hard to know what the next test should be – even if you know about Zero-One-Many or ZOMBIES. We’ll look at the challenge of observability – understanding an object, and we’ll look at a couple Continue reading Observability, Constructor Test, Invariants – TDD Patterns→

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

Zero-One-Many in Test-Driven Development

Posted on December 9, 2020 by Bill Wake

The Zero-One-Many principle says that zero, one, and many are the three cases that make sense. (“A few” is more trouble than many.) This principle can guide you in splitting or expanding capabilities at multiple levels. You can use it Continue reading Zero-One-Many in Test-Driven Development→

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

Parameterized Unit Testing

Posted on November 25, 2020 by Bill Wake

Duplication in production code leads to errors, but certain duplication in test code causes problems too. When test after test has the same structure, the part that varies (aka the interesting part) gets buried in the part that stays the Continue reading Parameterized Unit Testing→

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

Time Troubles – Binary Timer Overflow

Posted on November 18, 2020 by Bill Wake

A fixed-size counter (triggered by some sort of pulse) is a common way to represent time. When you use this approach, you generally have to answer three questions: Answering those questions lets you answer several other questions: (For all these, Continue reading Time Troubles – Binary Timer Overflow→

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

Refactor Template Method to Strategy

Posted on November 11, 2020 by Bill Wake

The Template Method design pattern defines an algorithm in an abstract class, and defers some steps to its subclasses. A Strategy defines a family of pluggable implementations. We’ll see how to convert from Template Method to Strategy. Template Method A Continue reading Refactor Template Method to Strategy→

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

State Machines, part 4: Testing

Posted on November 4, 2020 by Bill Wake

State machines are useful, but how do we know they’re correct? We’ll look at several aspects of testing state machines: the machines themselves, and the interpreter and direct code implementations. The “State Machines” Series Levels of Testing When using state Continue reading State Machines, part 4: Testing→

Posted in xp123.com | Tagged customer, programmer, tester, XPlorations

Post navigation

← Older posts
Newer 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