SlideShare a Scribd company logo
Coding Dojo
Refactoring
­Tennis Kata­
@AlinPandichi
Coding Dojo
Expectations?
Coding Dojo Mindset
●  We are here to learn
●  Safe place outside of work
●  Need to slow down
●  Focus on doing it right
●  Non­competitive, collaborative, fun 
environment
Practice session
●  One laptop with a functional dev. env. is 
connected to a projector
●  Two developers pair program on the 
laptop. The others are watching the code 
changes.
●  Every 7 minutes, one developer leaves 
the laptop and the next one from the 
room takes his place. 
4 rules of simple design
●  Passes the tests
●  No duplication
●  Reveals intention
●  Fewer elements
Code smells
“A surface indication that usually 
corresponds to a deeper problem 
in the system”
Quick to spot:
●  bad names
●  long method, does too much
●  duplication
●  dead code, etc.
Refactoring
“A technique for restructuring 
an existing body of code, 
altering its internal structure 
without changing 
its external behavior”
Small transformations
●  Transformations preserving 
behavior
●  Small, less likely to go wrong
●  System is fully working after each 
change
●  Verified by working tests
●  Sequence of transformations 
produce a significant restructuring
Tennis Refactoring Kata
https://github.com/emilybache/
Tennis­Refactoring­Kata
Retrospective
●  What did you learn today?
●  What happened as expected?
●  What surprised you?
●  What do you plan to use at work?
Thank you!

More Related Content

PDF
Refactoring the Tennis Kata (2013)
PDF
Designing Test Cases for the Gilded Rose Kata (2013)
PDF
Coding Dojo: Adding Tests to Legacy Code (2014)
PDF
Pair Programming (2015)
PDF
The Brutal Refactoring Game (2013)
PDF
Brutal Coding Constraints (ITAKE 2017)
PDF
Code Retreat Graz, Austria 2013
PDF
Refactoring the Tennis Kata v2 (2016)
Refactoring the Tennis Kata (2013)
Designing Test Cases for the Gilded Rose Kata (2013)
Coding Dojo: Adding Tests to Legacy Code (2014)
Pair Programming (2015)
The Brutal Refactoring Game (2013)
Brutal Coding Constraints (ITAKE 2017)
Code Retreat Graz, Austria 2013
Refactoring the Tennis Kata v2 (2016)

What's hot (20)

PDF
Deliberate Practice (Agile Slovenia 2015)
PDF
Software Craftsmanship Journeyman Tour (2013)
PDF
TDD as if You Meant It (2013)
PDF
Coding Dojo: Asynchronous Clock-In (2016)
PDF
Designing Test Cases for the Gilded Rose Kata v3 (2016)
PDF
Coding Dojo Object Calisthenics (2016)
PDF
Idiomatic R for Rosetta Code (2013)
PDF
Mob Programming (2016)
PDF
Coding Dojo: Functional Calisthenics (2016)
PDF
Clean Readable Specifications (ETC 2016)
PDF
Coding Dojo: Data Munging (2016)
PDF
Code Retreat Venice (2016)
PDF
GDCR15 in Las Palmas, Gran Canaria
PDF
Code Quality Assurance v4 (2013)
PDF
JUnit Boot Camp (GeeCON 2016)
PDF
Coding Dojo: Baby Steps Push Challenge (2021)
PDF
Coding Dojo: Naming with Dices (2021)
PDF
Coding Dojo: Bank OCR Outside-In (2015)
PDF
Coding Dojo: Mars Rover (2014)
PDF
Extract Method Refactoring Workshop (2016)
Deliberate Practice (Agile Slovenia 2015)
Software Craftsmanship Journeyman Tour (2013)
TDD as if You Meant It (2013)
Coding Dojo: Asynchronous Clock-In (2016)
Designing Test Cases for the Gilded Rose Kata v3 (2016)
Coding Dojo Object Calisthenics (2016)
Idiomatic R for Rosetta Code (2013)
Mob Programming (2016)
Coding Dojo: Functional Calisthenics (2016)
Clean Readable Specifications (ETC 2016)
Coding Dojo: Data Munging (2016)
Code Retreat Venice (2016)
GDCR15 in Las Palmas, Gran Canaria
Code Quality Assurance v4 (2013)
JUnit Boot Camp (GeeCON 2016)
Coding Dojo: Baby Steps Push Challenge (2021)
Coding Dojo: Naming with Dices (2021)
Coding Dojo: Bank OCR Outside-In (2015)
Coding Dojo: Mars Rover (2014)
Extract Method Refactoring Workshop (2016)
Ad

Viewers also liked (15)

PPT
Προσβαση σε ΑΕΙ-ΤΕΙ
PDF
Sentrifugo user guide 2.1
PDF
โรงเรียนรัตนบุรี5
PDF
Revolutionary Approach to Cell Site Activation
PDF
Solo Repertoire List
PPT
Μεταλυκειακες Σπουδες
PDF
Sentrifugo user guide 1.1.7v
PDF
Sentrifugo user guide 2.0beta
PPT
Clase 15 esporotricosis y cromoblastomicosis 2015
PPTX
MIS presentation on Skype business model
PPT
Clase 16 lobomicosis y rinosporidiosis prothotecosis y microsporidiosis 2015
PDF
5G: Why Wait? - 5G Observatory 2016
PPT
Clase 20 cryptococosis, candidiasis, trichosporonosis y malasseziosis 2015
PPTX
Herencia poligenica
PPT
Clase 19 aspergilosis y neumocystosis 2015
Προσβαση σε ΑΕΙ-ΤΕΙ
Sentrifugo user guide 2.1
โรงเรียนรัตนบุรี5
Revolutionary Approach to Cell Site Activation
Solo Repertoire List
Μεταλυκειακες Σπουδες
Sentrifugo user guide 1.1.7v
Sentrifugo user guide 2.0beta
Clase 15 esporotricosis y cromoblastomicosis 2015
MIS presentation on Skype business model
Clase 16 lobomicosis y rinosporidiosis prothotecosis y microsporidiosis 2015
5G: Why Wait? - 5G Observatory 2016
Clase 20 cryptococosis, candidiasis, trichosporonosis y malasseziosis 2015
Herencia poligenica
Clase 19 aspergilosis y neumocystosis 2015
Ad

Similar to Coding Dojo - Refactoring Tennis Kata (20)

PDF
Kata Your Way to SW Craftsmanship
PPT
Coding Dojo Introduction
PDF
Coding Dojo Applied
PPTX
Refactoring
PDF
Refactoring AOMs For AgilePT2010
KEY
Coding Dojo
PDF
Code Dojo
PPTX
Coding Dojo
PPTX
Refactor your code: when, why and how (revisited)
ODP
Refactoring Dojo @AgileWorks Bucharest 21 May 2014
PDF
Coding Dojo Firenze - vol1
PDF
Strategic refactoring. Refactoring strategies
PPTX
Code refactoring
PPTX
Refactor your code: when, why and how?
PPTX
Experience Agile Programming
PDF
The London Python Code Dojo - An Education in Developer Education
ODP
2014 05-14-pythoncodingdojo
PDF
Coding dojo
PPTX
Code Katas Spring 2012
PDF
Deliberate Practice (2014)
Kata Your Way to SW Craftsmanship
Coding Dojo Introduction
Coding Dojo Applied
Refactoring
Refactoring AOMs For AgilePT2010
Coding Dojo
Code Dojo
Coding Dojo
Refactor your code: when, why and how (revisited)
Refactoring Dojo @AgileWorks Bucharest 21 May 2014
Coding Dojo Firenze - vol1
Strategic refactoring. Refactoring strategies
Code refactoring
Refactor your code: when, why and how?
Experience Agile Programming
The London Python Code Dojo - An Education in Developer Education
2014 05-14-pythoncodingdojo
Coding dojo
Code Katas Spring 2012
Deliberate Practice (2014)

More from Alin Pandichi (13)

PDF
[Codecamp] The sorry state of frontend code
PDF
Unit Testing your React / Redux app (@BucharestJS)
ODP
Coding Dojo - The learning remote control
PDF
The sorry state of frontend code [a talk @ Softbinator]
PDF
Behavior driven development - a recap (@ Symfony Bucharest Meetup)
PDF
The sorry state of frontend code
ODP
How to unit test your React/Redux app
PDF
Covariance and contravariance. Say what?! (Agile Talks #22)
PDF
Coding Dojo - Berlin Clock - TDD
PDF
Coding Dojo - Golden Master Technique - Approval Tests - Gilded Rose Kata-
PDF
Avatar.js
PDF
Software development - the java perspective
PDF
Java 8 - Lambdas and much more
[Codecamp] The sorry state of frontend code
Unit Testing your React / Redux app (@BucharestJS)
Coding Dojo - The learning remote control
The sorry state of frontend code [a talk @ Softbinator]
Behavior driven development - a recap (@ Symfony Bucharest Meetup)
The sorry state of frontend code
How to unit test your React/Redux app
Covariance and contravariance. Say what?! (Agile Talks #22)
Coding Dojo - Berlin Clock - TDD
Coding Dojo - Golden Master Technique - Approval Tests - Gilded Rose Kata-
Avatar.js
Software development - the java perspective
Java 8 - Lambdas and much more

Recently uploaded (20)

PDF
Encapsulation theory and applications.pdf
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PPTX
Big Data Technologies - Introduction.pptx
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Approach and Philosophy of On baking technology
Encapsulation theory and applications.pdf
Dropbox Q2 2025 Financial Results & Investor Presentation
Programs and apps: productivity, graphics, security and other tools
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
20250228 LYD VKU AI Blended-Learning.pptx
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Chapter 3 Spatial Domain Image Processing.pdf
Digital-Transformation-Roadmap-for-Companies.pptx
Big Data Technologies - Introduction.pptx
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
The Rise and Fall of 3GPP – Time for a Sabbatical?
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Building Integrated photovoltaic BIPV_UPV.pdf
Understanding_Digital_Forensics_Presentation.pptx
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Approach and Philosophy of On baking technology

Coding Dojo - Refactoring Tennis Kata