Post on 10-Jan-2017
Coding Dojo
Refactoring
-Tennis Kata-
@AlinPandichi
Coding Dojo
Expectations?
Coding Dojo Mindset
We are here to learn
Safe place outside of work
Need to slow down
Focus on doing it right
Non-competitive, collaborative, fun environment
Practice session
One laptop with a functional dev. env. is connected to a projector
Two developers pair program on the laptop. The others are watching the code changes.
Every 7 minutes, one developer leaves the laptop and the next one from the room takes his place.
4 rules of simple design
Passes the tests
No duplication
Reveals intention
Fewer elements
Code smells
A surface indication that usually corresponds to a deeper problem in the system
Quick to spot: bad names
long method, does too much
duplication
dead code, etc.
Refactoring
A technique for restructuring an existing body of code, altering its internal structure without changing its external behavior
Small transformations
Transformations preserving behavior
Small, less likely to go wrong
System is fully working after each change
Verified by working tests
Sequence of transformations produce a significant restructuring
Tennis Refactoring Kata
https://github.com/emilybache/Tennis-Refactoring-Kata
Retrospective
What did you learn today?
What happened as expected?
What surprised you?
What do you plan to use at work?
Thank you!