Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Zen of Refactoring

Zen of Refactoring

Software refactoring is hard. We need teachers, good practices, rules. We need peace, focus and ideas. We need the Zen-like rules for keeping our minds in check.

The talk maps the Zen practices onto software refactoring using the Red-Green-Refactor and Mikado Method.

-- http://peel.github.io

Piotr Limanowski

February 04, 2014
Tweet

More Decks by Piotr Limanowski

Other Decks in Programming

Transcript

  1. ZEN
    of Refactoring

    View Slide

  2. scala, java… hoverboards*
    peel.github.io
    Piotr Limanowski
    @peel

    View Slide

  3. View Slide

  4. Dukkha

    View Slide

  5. Dukkha
    Bodhi

    View Slide

  6. Dukkha
    Bodhi
    Dhyana

    View Slide

  7. Dukkha
    Bodhi
    Dhyana
    Boddhisattva

    View Slide

  8. Dukkha
    Suffering

    View Slide

  9. //
    //
    // //
    Red Green Refactor

    View Slide

  10. View Slide

  11. View Slide

  12. View Slide

  13. View Slide

  14. View Slide

  15. View Slide

  16. “We have more possibilities available
    in each moment than we realise”
    Thich Nhat Hanh

    View Slide

  17. Bodhi
    Enlightment

    View Slide

  18. Concentration
    Tranquility
    Mindfulness
    Change
    The Aim is…

    View Slide

  19. Concentration
    Tranquility
    Mindfulness
    Change
    The Aim is…

    View Slide

  20. Concentration
    Tranquility
    Mindfulness
    Change
    The Aim is…

    View Slide

  21. View Slide

  22. Adding a feature

    View Slide

  23. Adding a feature
    Fixing a bug

    View Slide

  24. Adding a feature
    Fixing a bug
    Improving the design

    View Slide

  25. Adding a feature
    Fixing a bug
    Improving the design
    Optimizing resource usage

    View Slide

  26. Goal

    View Slide

  27. Goal
    Experiment

    View Slide

  28. Goal
    Experiment
    Visualize

    View Slide

  29. Goal
    Experiment
    Visualize
    Undo

    View Slide

  30. Goal
    Experiment
    Visualize
    Undo

    View Slide

  31. Goal

    View Slide

  32. Do one thing at a time

    View Slide

  33. Experiment

    View Slide

  34. Think about what is necessary

    View Slide

  35. Do it completely

    View Slide

  36. Do less

    View Slide

  37. Visualize

    View Slide

  38. Make cleaning become meditation

    View Slide

  39. Undo

    View Slide

  40. Put space between things

    View Slide

  41. Live simply

    View Slide

  42. Develop rituals

    View Slide

  43. Dhyana
    Consiousness

    View Slide

  44. “Before enlightenment, chop wood and carry water.
    After enlightenment, chop wood and carry water.”
    Wu Li

    View Slide

  45. Monolith

    View Slide

  46. Boddhisatva
    Enlightened being

    View Slide

  47. Goal Experiment Visualize Undo Iterate
    Practice
    Mindfulness

    View Slide

  48. “Smile, breathe and go slowly”
    Thich Nhat Hanh

    View Slide