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: refactoring

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

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

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

Refactoring Undifferentiated Exceptions

Posted on April 6, 2023 by Bill Wake

Some exception-handling code peels apart exceptions to figure out how to handle them. This is a missed opportunity for more direct code. The Simple Case: Type-Tested Exceptions Sometimes we see handler code like this: catch (Exception e) { // possible Continue reading Refactoring Undifferentiated Exceptions→

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

Refactoring: Extract Local Lambda

Posted on February 2, 2023 by Bill Wake

Extracting a local lambda turns a block of code into an anonymous inline function.  Motivation A local lambda can isolate code for improvement (the Isolate-Improve-Inline pattern – see References), or be the first step in using a lambda another way. Continue reading Refactoring: Extract Local Lambda→

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

Refactoring, a Whole-Team Guide

Posted on February 2, 2022 by Bill Wake

A one-page summary of Refactoring is available in PDF. Refactoring is…? Changing the design of existing code without changing its observable behavior (per Martin Fowler). These changes include renaming, reducing duplication, rearranging code, and more. Even large refactorings are built Continue reading Refactoring, a Whole-Team Guide→

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

2021 Articles in Review

Posted on January 5, 2022 by Bill Wake

Here are the the articles and videos I made last year. Key topics: user stories, refactoring, TDD, functional languages, and design. I’ve grouped them into these areas: My favorites: Want More?Have you found these articles useful or want more? * Continue reading 2021 Articles in Review→

Posted in xp123.com | Tagged customer, design, programmer, refactoring, tester, user stories, XPlorations

Loop Unrolling: While ⇒ If-While

Posted on November 24, 2021 by Bill Wake

Loop unrolling is a performance optimization where you repeat the inside of a loop to reduce the looping overhead. It’s also a way to get rid of loops, and we’ll look at an example from a test. While ⇒ If-While Continue reading Loop Unrolling: While ⇒ If-While→

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

Refactoring and Programming Language Semantics

Posted on November 10, 2021 by Bill Wake

Refactoring improves the design of code without changing its observable behavior. But what is observable behavior? We’ll look at how language semantics affect that. When you devise new refactorings, you have to take semantics into account. The Simple View is Continue reading Refactoring and Programming Language Semantics→

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

  • 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
  • Threaded Code (and Composite)
  • Time Troubles – Transitions
  • Refactor: Inline-Adjust-Extract
  • Organizing Fields and Methods

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 © 2025 XP123. All Rights Reserved.
Theme: Catch Box by Catch Themes
Scroll Up