TCR Tool (test && commit || revert)

Thomas Deniffel
2 min readNov 29, 2018

These days I try TCR in different real-world-project to evaluate if it is good or bad. Most of the time I use the variant ‘The Relaxed’ via a simple Bash-script.

Note: TCR (test && commit || revert) is new to you? It is like TDD, but different. Check out this post, which provides background, context and an example.

Why

The script has two downsides that disturb my typical workflow:

  1. I cannot see my jUnit-Tests-Results properly
  2. Having the log in my field of view is very disturbing when I execute it in an infinite loop

Not such a big problem, but still not comfortable:

  1. I cannot switch my strategy (=variant) easily
  2. I don’t have stats, for example, how big my commits where, etc.

Note: See examples of different variants here.

Tool

Therefore, I decided to build a little TCR-Runner. You can see an example here: https://youtu.be/0rlI9mqHpkY

The tool connects via WebSockets to the “Backend,” which executes a specified TCR-Strategy periodically.

The architecture is easily extendable with new variants of TCR for trying them out. It is also Event-Driven, so adding new Components / Displays is trivial.

Future

  1. Manage Limbo-Style, which is introduced as part of TCR here or by Kent Beck here.
  2. As soon this tool stands, I can solve one big open problem: Manage the Git-Log-Message. (These days over 95% of my messages are just “working,” as specified in my script.)

--

--

Thomas Deniffel

Programmer, CTO at Skytala GmbH, Software Craftsman, DDD, Passion for Technology