1 of 11

The Tennis Refactoring Kata

Coder Consortium / Sacramento Software Engineers

Feb 6, 2025

2 of 11

Announcements

sacswe.org

3 of 11

Announcements

  • Bloom Workspaces
    • WiFi
    • Free Day Pass - contact brandon@bloomworkspaces.com and mention this Meetup
  • SacTech Slack (https://sac-tech.com/)
    • #coder-consortium, #sac-swe-meetup, #announcements
    • Me: @Fin, Tim: @srcerer
  • Upcoming Meetups
    • SacSwe@Carlsen, 3rd Tuesdays (paused)
    • CoderConsortium/SacSwe@Bloom, 1st Thursdays (next: Mar 6 - Topic TBD)

4 of 11

Announcements

(Experimental)

Screen share: see link at sacswe.org.

5 of 11

Agenda

6:40-7:10: Presentation

  1. Kata
  2. Workflow

7:10-8:10: Break into groups and work on the kata.

8:10-8:30: Retrospective.

6 of 11

About katas…

7 of 11

Topics for Future Sessions

  • Code quality
    • Why not just jam in the new functionality?
  • Refactoring
    • Refactoring techniques
    • Provable refactoring
  • Code Smells
  • Unit Tests
    • Test-driven development (TDD)
  • Approval Tests
  • Pair/Mob Programming
    • Mob Timer: https://mobti.me/

8 of 11

The Tennis Kata

  • Intro Video (5 mins)

  • Additional Background Video (watch first ~15 mins)

9 of 11

Proposed Workflow

Loop until “done”:

  1. Is the code working? (“Is it green?”)
    • NO - Fix or Revert.
    • YES - Go to Question 2.
  2. Is the code better? (compared to the last submit)
    • NO - Refactor or Revert.
    • YES - Submit (locally).

Use unit or approval tests to answer question 1 after every code change.

10 of 11

Appendix

11 of 11

Background on Mob Programming