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

Time Troubles – Transitions

Posted on February 1, 2024 by Bill Wake

Time is a well-known source of trouble for programmers. We looked earlier at one type of time troubles: overflow. Today, I’d like to look at another time trouble: transitions. Here are the problems we’ll see: Simultaneous Transitions Different units of Continue reading Time Troubles – Transitions→

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

Refactor: Inline-Adjust-Extract

Posted on January 4, 2024 by Bill Wake

Sometimes, we feel that something we extracted isn’t as good as it could be. The Inline-Adjust-Extract refactoring pattern can help fix that. It has three steps: In a sense, this pattern is the opposite of the Isolate-Improve-Inline pattern. That tactic Continue reading Refactor: Inline-Adjust-Extract→

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

Organizing Fields and Methods

Posted on November 2, 2023 by Bill Wake

When you’re making a class, in what order do you put the fields and methods? We’ll look at several choices and some tradeoffs between them. Organizing Fields I’ve seen a few approaches to organizing fields: In C#, Swift, and some Continue reading Organizing Fields and Methods→

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

Reduce Dependencies Using Lambda

Posted on October 5, 2023 by Bill Wake

When A depends on B (A → B), a change in B may force A to change as well. Dependencies are both good and bad: they let objects work together, but they make software harder to change. We can use Continue reading Reduce Dependencies Using Lambda→

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

Iterative Enhancement and XP-Style Design

Posted on September 7, 2023 by Bill Wake

“Iterative Enhancement” is a model for iterative development, from Basili & Turner, described in 1975 (!). We’ll look at it, and compare it to XP’s approach. I’ve seen occasional mention of this paper in people writing about evolutionary design or Continue reading Iterative Enhancement and XP-Style Design→

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

Extension Methods for TDD

Posted on August 3, 2023 by Bill Wake

Some languages (e.g., Swift, C#, Java) support extension methods. These let you add new methods to an existing class, even a system class. Extension methods support testing by providing convenient improvements in control and visibility. Extension Methods I’ll show Swift Continue reading Extension Methods for TDD→

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

Observe and Control Objects – TDD Patterns

Posted on July 6, 2023 by Bill Wake

An object holds state, and you observe and control it (or both) through its public fields or methods. We’ll look at techniques you can use when an object provides no direct way to observe or control it the way a Continue reading Observe and Control Objects – TDD Patterns→

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

Code That Writes Code Needs Multi-Level Tests

Posted on June 1, 2023 by Bill Wake

Code that writes code is fun in a meta sort of way, but it requires extra testing. We’ll start by considering generic systems and their tests, then look at testing for code generation.  “I’d rather write programs to write programs Continue reading Code That Writes Code Needs Multi-Level Tests→

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

Refactoring: Replace Method with Method Object

Posted on January 5, 2023 by Bill Wake

Sometimes, when you try to break up a long method, you run into a problem: you have to pass a bunch of local variables into the new method, some of which are both input and output. One solution is the Continue reading Refactoring: Replace Method with Method Object→

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

Swimming in a Rich Domain

Posted on November 30, 2022 by Bill Wake

Many domains are shallow and impoverished, e.g., apps that exist to write well-understood fields into a database. A rich domain has many concepts (some contradictory); it has lots of history; and it’s full of incidental complexity, the consequences of human Continue reading Swimming in a Rich Domain→

Posted in xp123.com | Tagged design, programmer, 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