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

9_ways_to_test_your_spaghetti_code_-_Devoxx_Ukraine.pdf

Mads Opheim
November 23, 2018
47

 9_ways_to_test_your_spaghetti_code_-_Devoxx_Ukraine.pdf

Mads Opheim

November 23, 2018
Tweet

Transcript

  1. Devoxx Ukraine
    9 ways to test your
    spaghetti code
    Mads Opheim
    @MadsOpheim

    View Slide

  2. Goal of this talk:
    You’ll be inspired and
    enabled to test your
    legacy code
    2

    View Slide

  3. What is
    spaghetti
    code?
    3

    View Slide

  4. Precondition:
    You are creative
    The computer is not
    4

    View Slide

  5. 1. Extract interface
    5

    View Slide

  6. 6

    View Slide

  7. 7
    2. Set your
    dependencies

    View Slide

  8. 8

    View Slide

  9. Singletons
    9

    View Slide

  10. 3. Package-protect
    problematic parts
    10

    View Slide

  11. 11

    View Slide

  12. 4. Consider removing final
    12

    View Slide

  13. Well-designed code is
    testable code
    13

    View Slide

  14. 14
    5. Help your team

    View Slide

  15. 6. Run your tests - and care
    15

    View Slide

  16. 7. Feature toggles
    16

    View Slide

  17. 8. One class !=
    one test class
    17

    View Slide

  18. 9. Test-driven
    development
    18

    View Slide

  19. Test-driven
    spaghetti
    19

    View Slide

  20. Give me
    more
    @lisacrispin, @lisihocke,
    @techgirl1908...
    20

    View Slide

  21. Key takeaways
    21
    1. Good code design improves testability
    2. Short-term sacrifices are ok
    3. Write tests for you legacy code -
    you can do it!

    View Slide

  22. спасибі!
    22
    @MadsOpheim
    [email protected]

    View Slide