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

DRY 2.0

DRY 2.0

DRY (Don't Repeat Yourself) is often defined as "No Code Duplication". That's DRY 1.0. The DRY principle really shimes in when you get it to the next level: "No Knowledge Duplication".

This lightning talk was given at #VanRuby Lightning Talk Meetup on Dec 1st 2016.

Philippe Creux

December 01, 2016
Tweet

More Decks by Philippe Creux

Other Decks in Programming

Transcript

  1. @pcreux
    VanRuby - Dec 1st 2016
    DRY 2.0

    View Slide

  2. @pcreux
    VanRuby - Dec 1st 2016
    D
    R
    Y

    View Slide

  3. @pcreux
    VanRuby - Dec 1st 2016
    D on’t
    R epeat
    Y ourself

    View Slide

  4. @pcreux
    VanRuby - Dec 1st 2016

    View Slide

  5. @pcreux
    VanRuby - Dec 1st 2016
    “For example, if you’ve duplicated a bit of
    code in many places, the Don’t Repeat
    Yourself (DRY) principle tells you to extract
    the duplication into a single common
    method and then invoke this new method in
    place of the old code.”

    View Slide

  6. @pcreux
    VanRuby - Dec 1st 2016
    DRY
    =
    NO Code Duplication

    View Slide

  7. @pcreux
    VanRuby - Dec 1st 2016

    View Slide

  8. @pcreux
    VanRuby - Dec 1st 2016

    View Slide

  9. @pcreux
    VanRuby - Dec 1st 2016

    View Slide

  10. @pcreux
    VanRuby - Dec 1st 2016
    DRY
    =
    NO Code Duplication

    View Slide

  11. @pcreux
    VanRuby - Dec 1st 2016
    DRY 1.0
    =
    NO Code Duplication

    View Slide

  12. @pcreux
    VanRuby - Dec 1st 2016
    DRY 2.0
    =
    NO KNOWLEDGE Duplication

    View Slide

  13. @pcreux
    VanRuby - Dec 1st 2016

    View Slide

  14. @pcreux
    VanRuby - Dec 1st 2016

    View Slide

  15. @pcreux
    VanRuby - Dec 1st 2016

    View Slide

  16. @pcreux
    VanRuby - Dec 1st 2016
    Free
    Starter
    Pro99
    Pro199
    Pro499

    View Slide

  17. @pcreux
    VanRuby - Dec 1st 2016

    View Slide

  18. @pcreux
    VanRuby - Dec 1st 2016

    View Slide

  19. @pcreux
    VanRuby - Dec 1st 2016
    Free
    Starter
    Pro99
    Pro199
    Pro499
    NEW PRICING!
    Free
    Startup
    Prime
    Premium

    View Slide

  20. @pcreux
    VanRuby - Dec 1st 2016

    View Slide

  21. @pcreux
    VanRuby - Dec 1st 2016

    View Slide

  22. @pcreux
    VanRuby - Dec 1st 2016

    View Slide

  23. @pcreux
    VanRuby - Dec 1st 2016

    View Slide

  24. @pcreux
    VanRuby - Dec 1st 2016
    How did we get there?

    View Slide

  25. @pcreux
    VanRuby - Dec 1st 2016
    KNOWLEDGE Duplication

    View Slide

  26. @pcreux
    VanRuby - Dec 1st 2016
    Let’s FIX IT!

    View Slide

  27. @pcreux
    VanRuby - Dec 1st 2016

    View Slide

  28. @pcreux
    VanRuby - Dec 1st 2016
    ONE SOURCE of TRUTH

    View Slide

  29. @pcreux
    VanRuby - Dec 1st 2016
    ExAMPLE:
    POLICY OBJECT

    View Slide

  30. @pcreux
    VanRuby - Dec 1st 2016
    POLICY OBJECT

    Can I do X?

    View Slide

  31. @pcreux
    VanRuby - Dec 1st 2016
    POLICY OBJECT

    cancancan
    pundit


    View Slide

  32. @pcreux
    VanRuby - Dec 1st 2016
    ONE SOURCE of TRUTH
    =
    RICH DATA MODEL

    View Slide

  33. @pcreux
    VanRuby - Dec 1st 2016

    View Slide

  34. @pcreux
    VanRuby - Dec 1st 2016
    DRY
    =
    NO CODE DUPLICATION
    +
    NO KNOWLEDGE Duplication

    View Slide