Test & Code

68: test && commit || revert (TCR) - Thomas Deniffel


Listen Later

With conventional TDD, you write a failing test, get it to pass, then refactor.

Then run the tests again to make sure your refactoring didn't break anything.
But what if it did break something?
Kent Beck has been recommending to commit your code to revision control after every green test run.
Oddmund Strømme suggested a symmetrical idea to go ahead and revert the code when a test fails.
Kent writes that he hated the idea, but had to try it.
Then wrote about it last September.
And now we have TCR, "(test && commit) || revert".

What's it feel like to actually do this?

Well, Thomas Deniffel has been using it since about a month after that article came out.
In this episode, we'll hear from Thomas about his experience with it.

It's a fascinating idea. Have a listen and let me know what you think.

Special Guest: Thomas Deniffel.

Links:

  • test && commit || revert — Kent Beck's original article
  • TCR: (test && commit || revert). How to use? Alternative to TDD? — Thomas Deniffel's article
  • TCR Variants (test && commit || revert)
  • TCR: A pulverizer for coding tasks — Another interesting opinion from someone else trying TCR - Jason Crawford
  • (test && commit || revert) Questions Answered — Written after this interview.
...more
View all episodesView all episodes
Download on the App Store

Test & CodeBy Brian Okken

  • 4.7
  • 4.7
  • 4.7
  • 4.7
  • 4.7

4.7

70 ratings


More shows like Test & Code

View all
Radiolab by WNYC Studios

Radiolab

43,838 Listeners

Software Engineering Daily by Software Engineering Daily

Software Engineering Daily

623 Listeners

Heavy Networking by Packet Pushers

Heavy Networking

327 Listeners

Talk Python To Me by Michael Kennedy

Talk Python To Me

585 Listeners

Python Bytes by Michael Kennedy and Brian Okken

Python Bytes

215 Listeners

Darknet Diaries by Jack Rhysider

Darknet Diaries

8,035 Listeners

The Real Python Podcast by Real Python

The Real Python Podcast

142 Listeners

Unexplainable by Vox

Unexplainable

2,308 Listeners

Network Automation Nerds by Packet Pushers

Network Automation Nerds

3 Listeners