Transformation Priority Premise for TDD

This just might be the thing that brings a mathematical rigor to Test Driven Development (TDD). If nothing else, it will certainly help programmers choose which tests to write next, and how best to make them pass. Transformations are like refactorings in that they are simple incremental changes to code.

They are unlike refactorings in that they change the behavior of code. In this video, Robert “Uncle” Martin presents a set of transformations sufficient to create any application. It also suggests that when they are applied in a certain order developers can avoid many of the common problems with TDD such as painting yourself into a corner, or taking steps that are too large. It also suggests that the ordering helps developers to find better algorithms.