Coding Dojo: Adding Tests to Legacy Code (2014)
Upcoming SlideShare
Loading in...5
×
 

Coding Dojo: Adding Tests to Legacy Code (2014)

on

  • 251 views

 

Statistics

Views

Total Views
251
Slideshare-icon Views on SlideShare
251
Embed Views
0

Actions

Likes
0
Downloads
5
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Coding Dojo: Adding Tests to Legacy Code (2014) Coding Dojo: Adding Tests to Legacy Code (2014) Presentation Transcript

    • Coding Dojo: Adding Tests to the Ugly Trivia Legacy Code Feb. 2014 Peter Kofler, ‘Code Cop’ @codecopkofler www.code-cop.org Copyright Peter Kofler, licensed under CC-BY.
    • Peter Kofler • Ph.D. (Appl. Math.) • Professional Software Developer for 14 years • “fanatic about code quality” • I help development teams PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
    • Expectations?
    • Coding Dojo Mindset ● Safe place outside work ● We are here to learn ● Need to slow down ● Focus on doing it right ● Collaborative Game PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
    • Dojo Structure ● Introduction 15' ● Coding 60' ● Break ● Interim (Retrospective) 15' ● Coding 60' ● Break ● Coding 60' ● Retrospective 30' PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
    • Legacy Code Skills ● Understanding Legacy Code ● Breaking Dependencies ● Bringing Code Under Test  ● Refactoring Mercilessly PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
    • Ugly Trivia PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
    • Legacy Codebase “uglytrivia“ ● Get the code https://github.com/jbrains/trivia ● An implementation of Trivial Pursuit ● http://en.wikipedia.org/wiki/Trivial_Pursuit ● players take turns to answer trivia questions ● questions are split into categories ● players collect coins for right answers PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
    • Requirements ● Choose a testing framework ● Create tests, cover all cases ● May need to extract code to do that PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
    • Don't Focus on Getting it Done. F0cus on Doing It Perfectly.
    • →Practice
    • Extract Pure Functions ● find a piece of code that can be moved into a separate function by using “Extract Method“ ● replace all external dependencies within this function with independent parameters ● add a test for that function ● refactor the tested code as needed PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
    • Extract Class ● isolate functionality that somehow relates and can be separated from other behaviour ● turn isolated methods into pure functions ● extract these pure functions into a separate class ● add tests for that new class PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
    • Closing Circle ● What did you learn today? ● What surprised you today? ● What will you do differently in the future? PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
    • Peter Kofler @codecopkofler www.code-cop.org Idea by J.B.Rainsberger @jbrains https://github.com/jbrains/trivia PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
    • CC Images ● Dojo http://www.flickr.com/photos/49715404@N00/3267627038/ ● Todos http://www.flickr.com/photos/kylesteeddesign/3724074594/ ● Trivia http://www.flickr.com/photos/thehoneybunny/207992667/ ● Wants you http://www.flickr.com/photos/shutter/105497713/ PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY