Evolutionary Design seems to be one of the black arts of software development. Test Driven Development brought the need of understanding how to evolve the code in order to solve a solution. Evolving the code is not done by magic, we evolve the code, the programmers. And we need specific techniques for that.
This talk will be an interactive one, presenting some of the most useful refactoring techniques for Evolutionary Design.
We will have a list of refactoring techniques that can evolve the design elements of the code. By design elements of the code we mean functions, classes, variables, constants, etc.
For each of the refactoring technique we will present: purpose, context, mechanics, remarks.
Also for each one of them we will show code that evolves with the help of this specific technique.