SlideShare a Scribd company logo
Coding Dojo
“Naming”
March 2021
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 20+ years
• “fanatic about code quality”
• Independent Code Quality Coach
PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
I help development teams with
PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
●
Professionalism
●
Quality and
Productivity
●
Continuous
Improvement
Mentoring
PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
●
Pair Programming
●
Programming
Workshops
●
Deliberate
Practice, e.g.
Coding Dojos
Developing Quality
Software Developers
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
Rules of the Dojo
PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
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
(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
Tic-Tac-Toe
PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
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
Constraint
PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
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
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
→Practice
→Break
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
Code which does
not make me want
to kill the author.
http://programmers.stackexchange.com/a/13594/15057
Peter Kofler
@codecopkofler
www.code-cop.org
PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
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

More Related Content

PDF
Coding Dojo: Baby Steps Push Challenge (2021)
PDF
Using Automated Code Reviews to Achieve Continuous Quality (ASQF Agile Night ...
PDF
Outside-in Test Driven Development - the London School of TDD
PDF
Writing Tests with the Unity Test Framework
PDF
Deliberate Practice, New Learning Styles (2015)
PDF
Designing Test Cases for the Gilded Rose Kata v2 (2015)
PDF
Coding Dojo: Functional Calisthenics (2016)
PDF
Deliberate Practice (Agile Slovenia 2015)
Coding Dojo: Baby Steps Push Challenge (2021)
Using Automated Code Reviews to Achieve Continuous Quality (ASQF Agile Night ...
Outside-in Test Driven Development - the London School of TDD
Writing Tests with the Unity Test Framework
Deliberate Practice, New Learning Styles (2015)
Designing Test Cases for the Gilded Rose Kata v2 (2015)
Coding Dojo: Functional Calisthenics (2016)
Deliberate Practice (Agile Slovenia 2015)

What's hot (20)

PDF
Coding Dojo: Mars Rover (2014)
PDF
Extract Method Refactoring Workshop (2016)
PDF
Coding Dojo: Bank OCR Outside-In (2015)
PDF
Designing Test Cases for the Gilded Rose Kata (2013)
PDF
Clean Readable Specifications (ETC 2016)
PDF
The Brutal Refactoring Game (2013)
PDF
Idiomatic R for Rosetta Code (2013)
PDF
Coding Dojo: Data Munging (2016)
PDF
Refactoring the Tennis Kata v2 (2016)
PDF
JUnit Boot Camp (GeeCON 2016)
PDF
Brutal Coding Constraints (ITAKE 2017)
PDF
TDD as if You Meant It (2013)
PDF
Designing Test Cases for the Gilded Rose Kata v3 (2016)
PDF
Mob Programming (2016)
PDF
Coding Dojo: Asynchronous Clock-In (2016)
PDF
Coding Dojo Object Calisthenics (2016)
PDF
Coding Dojo: Adding Tests to Legacy Code (2014)
PDF
Software Craftsmanship Journeyman Tour (2013)
PDF
Code Retreat Venice (2016)
PDF
Pair Programming (2015)
Coding Dojo: Mars Rover (2014)
Extract Method Refactoring Workshop (2016)
Coding Dojo: Bank OCR Outside-In (2015)
Designing Test Cases for the Gilded Rose Kata (2013)
Clean Readable Specifications (ETC 2016)
The Brutal Refactoring Game (2013)
Idiomatic R for Rosetta Code (2013)
Coding Dojo: Data Munging (2016)
Refactoring the Tennis Kata v2 (2016)
JUnit Boot Camp (GeeCON 2016)
Brutal Coding Constraints (ITAKE 2017)
TDD as if You Meant It (2013)
Designing Test Cases for the Gilded Rose Kata v3 (2016)
Mob Programming (2016)
Coding Dojo: Asynchronous Clock-In (2016)
Coding Dojo Object Calisthenics (2016)
Coding Dojo: Adding Tests to Legacy Code (2014)
Software Craftsmanship Journeyman Tour (2013)
Code Retreat Venice (2016)
Pair Programming (2015)
Ad

Similar to Coding Dojo: Naming with Dices (2021) (15)

PDF
Coding Dojo: Tic-Tac-Toe (2014)
PDF
Coding Dojo: Baby Steps (2014)
PDF
Refactoring the Tennis Kata (2013)
PDF
Coding Dojo: Fun with Tic-Tac-Toe (2014)
PDF
Coding Dojo: Roman Numerals (2014)
PDF
Coding Dojo for Testers/Testing Dojo: Designing Test Cases with FitNesse (2014)
PDF
Coding Dojo: String Calculator (2013)
PDF
Code Quality Assurance v4 (2013)
PDF
Deliberate Practice (2014)
PDF
Prime Factors Code Kata - Practicing TDD (2014)
PDF
Coding Dojo: Bank OCR (2014)
PDF
Pragmatic Introduction to Python Unit Testing (PyDays 2018)
PDF
Pair Programming (2014)
PDF
Can PL/SQL be Clean? (2013)
PDF
Global Day of Code Retreat (2013)
Coding Dojo: Tic-Tac-Toe (2014)
Coding Dojo: Baby Steps (2014)
Refactoring the Tennis Kata (2013)
Coding Dojo: Fun with Tic-Tac-Toe (2014)
Coding Dojo: Roman Numerals (2014)
Coding Dojo for Testers/Testing Dojo: Designing Test Cases with FitNesse (2014)
Coding Dojo: String Calculator (2013)
Code Quality Assurance v4 (2013)
Deliberate Practice (2014)
Prime Factors Code Kata - Practicing TDD (2014)
Coding Dojo: Bank OCR (2014)
Pragmatic Introduction to Python Unit Testing (PyDays 2018)
Pair Programming (2014)
Can PL/SQL be Clean? (2013)
Global Day of Code Retreat (2013)
Ad

Recently uploaded (20)

PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Empathic Computing: Creating Shared Understanding
PDF
Modernizing your data center with Dell and AMD
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
cuic standard and advanced reporting.pdf
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Encapsulation theory and applications.pdf
PPT
Teaching material agriculture food technology
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
KodekX | Application Modernization Development
PDF
Encapsulation_ Review paper, used for researhc scholars
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Per capita expenditure prediction using model stacking based on satellite ima...
Dropbox Q2 2025 Financial Results & Investor Presentation
NewMind AI Weekly Chronicles - August'25 Week I
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Understanding_Digital_Forensics_Presentation.pptx
Empathic Computing: Creating Shared Understanding
Modernizing your data center with Dell and AMD
MYSQL Presentation for SQL database connectivity
Unlocking AI with Model Context Protocol (MCP)
cuic standard and advanced reporting.pdf
Reach Out and Touch Someone: Haptics and Empathic Computing
The AUB Centre for AI in Media Proposal.docx
Encapsulation theory and applications.pdf
Teaching material agriculture food technology
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Advanced methodologies resolving dimensionality complications for autism neur...
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
KodekX | Application Modernization Development
Encapsulation_ Review paper, used for researhc scholars

Coding Dojo: Naming with Dices (2021)