Kent Beck TCR

Credits to @tomcoe
Image Link

Kent Beck explains his 'Alternative work flow ' called Test, Commit or Revert. It consists of making small changes to the code in order to always have the test on green (passed), so as Kent explained on this podcast, if you know that you have to make two changed in order to make the test pass first you need to make the first change but in a way that doesn’t corrupt the test of make the test fail. It's all about keeping the status of the test green.

TCR has a big impact on the confidence of a programmer because by having a positive output on a test case that has no other intention that to "break" your code boosts your belief in yourself (in your programming skills or your capacity to debug problems).

I was actually surprised when I heard this because I'm used to working the opposite of TCR watching everything turn red and breaking code until you magically fix it. I recently learned TDD (Test Driven Development) in my Software Architecture course, and it was an eye opening learning experience because first I never heard of this term or way of programming. Second of all I believe that I learned it the hard way because the teacher just went over TDD in a light manner and we had homework the next day of solving a problem in Java that he design for us and create our own test cases that we thought could cover all of the issues that might pop up. So I turned in my homework and minutes later the teacher was testing our code with more than 100 test cases he design for the problem. We had no idea he would test our code so thoroughly and I'm glad to say that my code just failed 4 of those test cases.

I can't really form an opinion about whether I prefer TDD or TCR because I have not worked with the last one. But what I can say is that I'm intrigued with Kent's idea because anything that can help build up my confidence on my skills with programming I'm here for it.

Kent Beck's Interview:

Comments

Popular posts from this blog

Chapters 6.1 & 6.2

Final Exam Questions

Course evaluation