jamesdabbs
[Live]
Kent Beck
Martin Fowler
@martinfowler
@KentBeck
Sandi Metz
Katrina Owen
@kytrinyx
@sandimetz
a change made to the internal structure of software
to make it easier to understand and cheaper to modify
without changing its observable behavior.
— Martin Fowler, Refactoring
ri-fak-tər-iŋ
(n)
Is it open for the new requirement?
Is it really open for the new requirement?
😎
Is it really open for the new requirement?
Do you know how to make it open?
😎
Is it really open for the new requirement?
Pick the code smell closest to the requirement
Apply a curative recipe for that code smell
😎
using primitive types to represent business objects
Good luck!
"We can't take the time to refactor,
we have features we have to ship."
If you don't need to change your product
don't change your code
If you need to change your code
make it easy to change
Write the simplest thing that you need today;
you can always change it tomorrow