Slide 1

Slide 1 text

Coding Dojo “Naming” March 2021 Peter Kofler, ‘Code Cop’ @codecopkofler www.code-cop.org Copyright Peter Kofler, licensed under CC-BY.

Slide 2

Slide 2 text

Peter Kofler • Ph.D. (Appl. Math.) • Professional Software Developer for 20+ years • “fanatic about code quality” • Independent Code Quality Coach PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY

Slide 3

Slide 3 text

I help development teams with PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY ● Professionalism ● Quality and Productivity ● Continuous Improvement

Slide 4

Slide 4 text

Mentoring PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY ● Pair Programming ● Programming Workshops ● Deliberate Practice, e.g. Coding Dojos

Slide 5

Slide 5 text

Developing Quality Software Developers

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

Rules of the Dojo PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY

Slide 8

Slide 8 text

Pair Programming & TDD ● regular Pair Programming ● do not talk for too long ● do not interrupt the other ● no “keyboard hugging“ ● use TDD (or at least “sort of” TDD) ● start with a test list ● write a test before you write code ● refactor mercilessly PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY

Slide 9

Slide 9 text

(Maybe Some) Constraints ● Challenges during a dojo or Coderetreat ● Moving to the extreme is a way of learning ● Examples ● Missing Tool (No Mouse, …) ● Missing Feature (No IFs, …) PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY Today surely some fun

Slide 10

Slide 10 text

Tic-Tac-Toe PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY

Slide 11

Slide 11 text

Assignment ● 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

Slide 12

Slide 12 text

Constraint PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY

Slide 13

Slide 13 text

Named by Dices ● Everything ● - but the names of test methods - ● is named using random dices. ● Specifically using these random dices with enterprise-y useless names. ● https://blog.code-cop.org/p/arolla-dice-namer.html PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY

Slide 14

Slide 14 text

Prepare ● Find a pair. ● Choose a programming language. ● Set up the environment. ● Create new project. ● Add testing framework. ● Check Wikipedia for requirements. ● Implement Tic-Tac-Toe. PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY

Slide 15

Slide 15 text

→Practice

Slide 16

Slide 16 text

→Break

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

Code which does not make me want to kill the author. http://programmers.stackexchange.com/a/13594/15057

Slide 19

Slide 19 text

Peter Kofler @codecopkofler www.code-cop.org PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY

Slide 20

Slide 20 text

CC Images ● cleaning: http://www.flickr.com/photos/inf3ktion/4477642894/ ● Bruce http://www.flickr.com/photos/sherpas428/4350620602/ ● pairing http://www.flickr.com/photos/dav/94735395/ ● dojo http://www.flickr.com/photos/49715404@N00/3267627038/ ● rule http://www.flickr.com/photos/phunk/4188827473 ● game http://www.flickr.com/photos/benclinch/476855843/ ● dice https://www.flickr.com/photos/sophieffc/2580454777/ ● wants you http://www.flickr.com/photos/shutter/105497713/ PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY