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
August Patch Tuesday
PPTX
OMC Textile Division Presentation 2021.pptx
PPTX
cloud_computing_Infrastucture_as_cloud_p
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Approach and Philosophy of On baking technology
PDF
A comparative study of natural language inference in Swahili using monolingua...
PDF
Getting Started with Data Integration: FME Form 101
PPTX
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
PPTX
Spectroscopy.pptx food analysis technology
PDF
Mushroom cultivation and it's methods.pdf
PDF
A comparative analysis of optical character recognition models for extracting...
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPTX
TLE Review Electricity (Electricity).pptx
PDF
Heart disease approach using modified random forest and particle swarm optimi...
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPT
Teaching material agriculture food technology
August Patch Tuesday
OMC Textile Division Presentation 2021.pptx
cloud_computing_Infrastucture_as_cloud_p
Reach Out and Touch Someone: Haptics and Empathic Computing
Approach and Philosophy of On baking technology
A comparative study of natural language inference in Swahili using monolingua...
Getting Started with Data Integration: FME Form 101
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
Spectroscopy.pptx food analysis technology
Mushroom cultivation and it's methods.pdf
A comparative analysis of optical character recognition models for extracting...
Mobile App Security Testing_ A Comprehensive Guide.pdf
Spectral efficient network and resource selection model in 5G networks
Diabetes mellitus diagnosis method based random forest with bat algorithm
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
TLE Review Electricity (Electricity).pptx
Heart disease approach using modified random forest and particle swarm optimi...
Building Integrated photovoltaic BIPV_UPV.pdf
Advanced methodologies resolving dimensionality complications for autism neur...
Teaching material agriculture food technology

Coding Dojo - Refactoring Tennis Kata