Transformation Priority Premise
   HOME

TheInfoList



OR:

Transformation Priority Premise (TPP) is a programming approach developed by Robert C. Martin (Uncle Bob) as a refinement to make the process of test-driven development (TDD) easier and more effective for a computer programmer. Transformation Priority Premise states that simpler transformations should be preferred: This approach facilitates the programmer doing the simplest possible thing for the purposes of test-driven development as they can explicitly refer to the list of transformations and favor the simpler transformations (from the top of the list) over those further down in the list in the first instance.


The Transformations

# ( → nil) no code at all → code that employs nil # (nil → constant) # (constant → constant+) a simple constant to a more complex constant # (constant → scalar) replacing a constant with a variable or an argument # (statement → statements) adding more unconditional statements. # (unconditional → if) splitting the execution path # (scalar → array) # (array → container) # (statement → tail-recursion) # (if → while) # (statement → non-tail-recursion) # (expression → function) replacing an expression with a function or algorithm # (variable → assignment) replacing the value of a variable. # (case) adding a case (or else) to an existing switch or if Uncle Bob also explicitly stated: "There are likely others", and


How to use the Transformations in Practice

Ridlehoover clarifies that the Transformations help you pick which tests to write and in what order. Corey Haines provides a live coding demo
Roman Numerals Kata
where he solves a coding challenge utilising the Transformations.


References








External links



* {{DEFAULTSORT:Transformational Priority Premise Extreme programming Software development philosophies Software development process Software testing