Coding Dojo:
Baby Steps
May 2014
Peter Kofler, ‘Code Cop’
@codecopkofler
www.code-cop.org
Copyright Peter Kofler, licensed...
Peter Kofler
• Ph.D. (Appl. Math.)
• Professional Software
Developer for 14 years
• “fanatic about code quality”
• I help ...
Coding Dojo?
Expectations?
Coding Dojo Mindset
●
Safe place outside
work
●
We are here to learn
●
Need to slow down
●
Focus on doing it right
●
Colla...
Dojo Structure
●
Introduction 15'
●
Coding 45'
●
Interim (Retrospective) 15'
●
Break 15'
●
Coding 45'
●
Retrospective 30'
...
TDD Skills
●
Driving Development with Tests 
●
Designing Test Cases
●
Designing Clean Code
●
Refactoring Safely
PETER KOF...
TDD should be...
●
Add a little test for one concept/idea
●
See it fail
●
Add a little code to make all tests pass
●
Refac...
… but often is
●
Write some high level test
●
Write code for several different things
●
Test and debug
●
Test and debug
●
...
Taking Baby Steps
PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
Steps
1. Set up a timer for certain interval.
2. Write exactly one test
- If the timer rings and the test is red then reve...
Assignment: Tic-Tac-Toe
PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
Tic-Tac-Toe
●
http://en.wikipedia.org/wiki/Tic-tac-toe
●
Board 3x3
●
X plays first, O plays second
●
Implement
●
2 Player ...
Don't Focus on
Getting it Done.
F0cus on Doing
It Perfectly.
Prepare
●
Find a pair.
●
Choose a programming language.
●
Set up the environment.
●
Set up source control repository (hg/g...
→Practice
Closing Circle
●
What did you learn today?
●
What surprised you today?
●
What will you do
differently in the
future?
PETER...
Peter Kofler
@codecopkofler
www.code-cop.org
Game by
Adrian Bolboaca
@adibolb
http://blog.adrianbolboaca.ro/2013/03/taking...
CC Images
●
Dojo http://www.flickr.com/photos/49715404@N00/3267627038/
●
Todos http://www.flickr.com/photos/kylesteeddesig...
Upcoming SlideShare
Loading in …5
×

Coding Dojo: Baby Steps (2014)

1,043 views

Published on

0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,043
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
7
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Coding Dojo: Baby Steps (2014)

  1. 1. Coding Dojo: Baby Steps May 2014 Peter Kofler, ‘Code Cop’ @codecopkofler www.code-cop.org Copyright Peter Kofler, licensed under CC-BY.
  2. 2. 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
  3. 3. Coding Dojo? Expectations?
  4. 4. 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
  5. 5. Dojo Structure ● Introduction 15' ● Coding 45' ● Interim (Retrospective) 15' ● Break 15' ● Coding 45' ● Retrospective 30' PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
  6. 6. TDD Skills ● Driving Development with Tests  ● Designing Test Cases ● Designing Clean Code ● Refactoring Safely PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
  7. 7. TDD should be... ● Add a little test for one concept/idea ● See it fail ● Add a little code to make all tests pass ● Refactor mercilessly ● Repeat PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
  8. 8. … but often is ● Write some high level test ● Write code for several different things ● Test and debug ● Test and debug ● Test and debug ● Add TODO to refactor later PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
  9. 9. Taking Baby Steps PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
  10. 10. Steps 1. Set up a timer for certain interval. 2. Write exactly one test - If the timer rings and the test is red then revert. - If the test is green before timer rings then commit. 3. Restart timer (no discussions in between timers) 4. Refactor - If timer rings and the refactoring is not complete then revert. - If the refactoring is complete before timer rings then commit. 5. Restart the timer (no discussions in between timers) 6. Go to 2 (next test) or 4 (continue refactoring) PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
  11. 11. Assignment: Tic-Tac-Toe PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
  12. 12. Tic-Tac-Toe ● http://en.wikipedia.org/wiki/Tic-tac-toe ● Board 3x3 ● X plays first, O plays second ● Implement ● 2 Player Game ● Determine Winner ● AI Bot Player PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
  13. 13. Don't Focus on Getting it Done. F0cus on Doing It Perfectly.
  14. 14. Prepare ● Find a pair. ● Choose a programming language. ● Set up the environment. ● Set up source control repository (hg/git). ● Set up a timer for 2 minutes interval. ● Timer must run continuously. Don't stop to talk! PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
  15. 15. →Practice
  16. 16. 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
  17. 17. Peter Kofler @codecopkofler www.code-cop.org Game by Adrian Bolboaca @adibolb http://blog.adrianbolboaca.ro/2013/03/taking-baby-steps/ PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
  18. 18. CC Images ● Dojo http://www.flickr.com/photos/49715404@N00/3267627038/ ● Todos http://www.flickr.com/photos/kylesteeddesign/3724074594/ ● Baby https://www.flickr.com/photos/11904001@N00/3983980813/ ● Game http://www.flickr.com/photos/benclinch/476855843/ ● Wants you http://www.flickr.com/photos/shutter/105497713/ PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY

×