Agiles 2014 - The Transformation Priority Premise

13
The Transformation Priority Premise Fernando Di Bartolo Ágiles 2014, Medellín, Colombia @fdibartolo

description

These are the slides of my presentation at Agiles 2014. Link to the talk: http://agiles2014.sched.org/event/75e37d1ff07889d60d102b1386e0358d#.VElttb5gvww

Transcript of Agiles 2014 - The Transformation Priority Premise

Page 1: Agiles 2014 - The Transformation Priority Premise

The Transformation Priority Premise

Fernando Di BartoloÁgiles 2014, Medellín, Colombia

@fdibartolo

Page 2: Agiles 2014 - The Transformation Priority Premise

disclaimer

Page 3: Agiles 2014 - The Transformation Priority Premise

failing test

make it pass

refactor

TDD cycle

Page 4: Agiles 2014 - The Transformation Priority Premise

22

1

3

√√ As the tests get more specific

the code gets more generic

4Rules of TDD

Page 5: Agiles 2014 - The Transformation Priority Premise

word wrap kata

ref: http://codingdojo.org/cgi-bin/index.pl?KataWordWrap

https://github.com/fdibartolo/agiles_2014

Page 6: Agiles 2014 - The Transformation Priority Premise

unconditional if splitting the execution path

variable assignment replacing the value of a variable

scalar arrayarray containerstatement recursionif whileexpression function replacing an expression with a function or algorithm

!{} nil no code at all to code that employs nilnil constantconstant constant+ a simple constant to a more complex constantconstant scalar replacing a constant with a variable or an argumentstatement statements adding more unconditional statements

http://blog.8thlight.com/uncle-bob/2013/05/27/TheTransformationPriorityPremise.html

There are likely others

Page 7: Agiles 2014 - The Transformation Priority Premise

unconditional if splitting the execution path

variable assignment replacing the value of a variable

scalar arrayarray containerstatement recursionif whileexpression function replacing an expression with a function or algorithm

!{} nil no code at all to code that employs nilnil constantconstant constant+ a simple constant to a more complex constantconstant scalar replacing a constant with a variable or an argumentstatement statements adding more unconditional statements

http://blog.8thlight.com/uncle-bob/2013/05/27/TheTransformationPriorityPremise.html

There are likely others

Page 8: Agiles 2014 - The Transformation Priority Premise

unconditional if splitting the execution path

variable assignment replacing the value of a variable

scalar arrayarray containerstatement recursionif whileexpression function replacing an expression with a function or algorithm

!{} nil no code at all to code that employs nilnil constantconstant constant+ a simple constant to a more complex constantconstant scalar replacing a constant with a variable or an argumentstatement statements adding more unconditional statements

http://blog.8thlight.com/uncle-bob/2013/05/27/TheTransformationPriorityPremise.html

There are likely others

Page 9: Agiles 2014 - The Transformation Priority Premise

unconditional if splitting the execution path

variable assignment replacing the value of a variable

scalar arrayarray containerstatement recursionif whileexpression function replacing an expression with a function or algorithm

!{} nil no code at all to code that employs nilnil constantconstant constant+ a simple constant to a more complex constantconstant scalar replacing a constant with a variable or an argumentstatement statements adding more unconditional statements

http://blog.8thlight.com/uncle-bob/2013/05/27/TheTransformationPriorityPremise.html

There are likely others

Page 10: Agiles 2014 - The Transformation Priority Premise

unconditional if splitting the execution path

variable assignment replacing the value of a variable

scalar arrayarray containerstatement recursionif whileexpression function replacing an expression with a function or algorithm

!{} nil no code at all to code that employs nilnil constantconstant constant+ a simple constant to a more complex constantconstant scalar replacing a constant with a variable or an argumentstatement statements adding more unconditional statements

http://blog.8thlight.com/uncle-bob/2013/05/27/TheTransformationPriorityPremise.html

There are likely others

Page 11: Agiles 2014 - The Transformation Priority Premise

unconditional if splitting the execution path

variable assignment replacing the value of a variable

Page 12: Agiles 2014 - The Transformation Priority Premise

impasses

Page 13: Agiles 2014 - The Transformation Priority Premise

Thanks!

@fdibartolo

fernando.di.bartolo