SlideShare una empresa de Scribd logo
1 de 22
k e !
    gs to
 a s in
BGuildford Coding
        Dojo
First Things First

Who are you?

What do you do?

Coding experience

One unusual
factoid about
yourself
Some Definitions



Dojo - “the place of
learning the way”
Some Definitions


Kata - “way of doing”

A choreographed series of
motions designed to teach
a particular skill or
pattern
What’s the Idea?

Deliberate
Practice of Key
Skills

Learn from others

HAVE FUN!
Dojo Rules
We respect each
other’s commitment
(No phones, email,
Facebook etc)

We all do TDD

We all do pair
programming

We do “Simple
Design”
Simple Design
All tests pass

Clear, expressive and
consistent

Does not duplicate
behaviour or
configuration

Minimises the number
of classes and methods
Format

Pair up

A problem is presented to be solved

We work on it in pomodoros (25 minute
cycles) - http://tomato.ist/gcd

When time up, 5 minute break to demo
your code to nearby pair, and reflect

At the end we show & tell our code
TDD Refresh

Write a failing test

Watch it fail(!)

Write code to make it pass

Refactor

Rinse & repeat
Uncle Bob’s Laws of TDD

 You may not write production code until
 you have written a failing unit test

 You may not write more of a unit test
 than is sufficient to fail (not compiling
 is a counted as a test failure)

 You may not write more production code
 than is sufficient to pass the currently
 failing test
FizzBuzz
Write a program that
prints the numbers from 1
to 100. But for multiples
of three print “Fizz”
instead of the number and
for the multiples of five
print “Buzz”. For numbers
which are multiples of
both three and five print
“FizzBuzz”:

1, 2, Fizz, 4, Buzz,
Fizz, 7, 8, Fizz, Buzz,
11, Fizz, 13, 14,
FizzBuzz, 16, 17, etc...
http://tomato.ist/gcd
http://tomato.ist/gcd
FizzBuzz (2)
Now modify your code to
print “Whizz” for
multiples of 7!



Multiple of 3: Fizz

Multiple of 5: Buzz

Multiple of 7: Whizz
http://tomato.ist/gcd
http://tomato.ist/gcd
FizzBuzz (3)
Now modify your code to
print “Fizz” for
multiples of 3 AND
numbers with digit 3 in
them!

Multiple of 3 or contains
digit ‘3’: Fizz

Multiple of 5: Buzz

Multiple of 7: Whizz
http://tomato.ist/gcd
http://tomato.ist/gcd
So how did it go?

Is the code clean?

Any smells?

Refactored? How
often?

Open/Closed?
Thank You
        Chris Pitts
       @thirstybear




     This work is licensed under a Creative Commons
Attribution-NonCommercial-NoDerivs 3.0 Unported License.
No, really...we’re done!

Más contenido relacionado

Destacado

Educação informatizada
Educação informatizadaEducação informatizada
Educação informatizadaIfreal
 
презентацияпроектаFunster
презентацияпроектаFunsterпрезентацияпроектаFunster
презентацияпроектаFunsterrustem_media
 
Transcripcíon en Organismos Procariotas
Transcripcíon en Organismos ProcariotasTranscripcíon en Organismos Procariotas
Transcripcíon en Organismos Procariotaswithoutnosegirl
 
62287955 egan-greg-el-instante-aleph
62287955 egan-greg-el-instante-aleph62287955 egan-greg-el-instante-aleph
62287955 egan-greg-el-instante-alephmirelitos
 
Inmovilizador clio 2003
Inmovilizador clio 2003Inmovilizador clio 2003
Inmovilizador clio 2003tclalito
 
Un modelo evaluador y su metodología
Un modelo evaluador y su metodologíaUn modelo evaluador y su metodología
Un modelo evaluador y su metodologíaViiryp Gonzalez
 
Stretagies that fit Emerging Markets
Stretagies that fit Emerging MarketsStretagies that fit Emerging Markets
Stretagies that fit Emerging MarketsRizwan Qamar
 
A história da quadradinha
A história da quadradinhaA história da quadradinha
A história da quadradinhaji.calvaria
 
My Vampire Diaries
My Vampire DiariesMy Vampire Diaries
My Vampire DiariesLiam Jacobs
 
Dehesa la moheda presentación y precios 20122012
Dehesa la moheda presentación y precios 20122012Dehesa la moheda presentación y precios 20122012
Dehesa la moheda presentación y precios 20122012dehesalamoheda
 
Φύλλο εργασίας Θουκυδίδη Ιστορία Κεφ. 71 73
Φύλλο εργασίας Θουκυδίδη Ιστορία Κεφ. 71 73Φύλλο εργασίας Θουκυδίδη Ιστορία Κεφ. 71 73
Φύλλο εργασίας Θουκυδίδη Ιστορία Κεφ. 71 73Vassiliki Yiannou
 
Apresentacao TCC - ERP Open Souce
Apresentacao TCC - ERP Open SouceApresentacao TCC - ERP Open Souce
Apresentacao TCC - ERP Open SouceAnderson De Faro
 
Construindo Diretivas com AngularJS
Construindo Diretivas com AngularJSConstruindo Diretivas com AngularJS
Construindo Diretivas com AngularJSRodrigo Branas
 
Coding dojo - TDD
Coding dojo - TDDCoding dojo - TDD
Coding dojo - TDDSteve Zhang
 
Continuous Delivery na SoundCloud
Continuous Delivery na SoundCloudContinuous Delivery na SoundCloud
Continuous Delivery na SoundCloudVitor Pellegrino
 

Destacado (20)

Educação informatizada
Educação informatizadaEducação informatizada
Educação informatizada
 
презентацияпроектаFunster
презентацияпроектаFunsterпрезентацияпроектаFunster
презентацияпроектаFunster
 
Transcripcíon en Organismos Procariotas
Transcripcíon en Organismos ProcariotasTranscripcíon en Organismos Procariotas
Transcripcíon en Organismos Procariotas
 
Presentación1
Presentación1Presentación1
Presentación1
 
62287955 egan-greg-el-instante-aleph
62287955 egan-greg-el-instante-aleph62287955 egan-greg-el-instante-aleph
62287955 egan-greg-el-instante-aleph
 
Inmovilizador clio 2003
Inmovilizador clio 2003Inmovilizador clio 2003
Inmovilizador clio 2003
 
Un modelo evaluador y su metodología
Un modelo evaluador y su metodologíaUn modelo evaluador y su metodología
Un modelo evaluador y su metodología
 
Stretagies that fit Emerging Markets
Stretagies that fit Emerging MarketsStretagies that fit Emerging Markets
Stretagies that fit Emerging Markets
 
El Valor Verdadero y El Perdón
El Valor Verdadero y El PerdónEl Valor Verdadero y El Perdón
El Valor Verdadero y El Perdón
 
A história da quadradinha
A história da quadradinhaA história da quadradinha
A história da quadradinha
 
My Vampire Diaries
My Vampire DiariesMy Vampire Diaries
My Vampire Diaries
 
Dehesa la moheda presentación y precios 20122012
Dehesa la moheda presentación y precios 20122012Dehesa la moheda presentación y precios 20122012
Dehesa la moheda presentación y precios 20122012
 
Φύλλο εργασίας Θουκυδίδη Ιστορία Κεφ. 71 73
Φύλλο εργασίας Θουκυδίδη Ιστορία Κεφ. 71 73Φύλλο εργασίας Θουκυδίδη Ιστορία Κεφ. 71 73
Φύλλο εργασίας Θουκυδίδη Ιστορία Κεφ. 71 73
 
Apresentacao TCC - ERP Open Souce
Apresentacao TCC - ERP Open SouceApresentacao TCC - ERP Open Souce
Apresentacao TCC - ERP Open Souce
 
Construindo Diretivas com AngularJS
Construindo Diretivas com AngularJSConstruindo Diretivas com AngularJS
Construindo Diretivas com AngularJS
 
Protecting Power Plants from SSR
Protecting Power Plants from SSRProtecting Power Plants from SSR
Protecting Power Plants from SSR
 
O som
O somO som
O som
 
Coding dojo - TDD
Coding dojo - TDDCoding dojo - TDD
Coding dojo - TDD
 
Continuous Delivery na SoundCloud
Continuous Delivery na SoundCloudContinuous Delivery na SoundCloud
Continuous Delivery na SoundCloud
 
Tudo para meninas
Tudo para meninasTudo para meninas
Tudo para meninas
 

Similar a Guildford Coding Dojo1

Kata de TDD by Jordi Anguela
Kata de TDD by Jordi AnguelaKata de TDD by Jordi Anguela
Kata de TDD by Jordi AnguelaCodium
 
Test Driven Development Workshop
Test Driven Development WorkshopTest Driven Development Workshop
Test Driven Development WorkshopKaren Sijbrandij
 
TDD BDD PHP - Sviluppo guidato dai test in PHP con phpspec
TDD BDD PHP - Sviluppo guidato dai test in PHP con phpspecTDD BDD PHP - Sviluppo guidato dai test in PHP con phpspec
TDD BDD PHP - Sviluppo guidato dai test in PHP con phpspecPatrick Luca Fazzi
 
TDD and Simple Design Workshop - Session 1 - March 2019
TDD and Simple Design Workshop - Session 1 - March 2019TDD and Simple Design Workshop - Session 1 - March 2019
TDD and Simple Design Workshop - Session 1 - March 2019Paulo Clavijo
 
Day1 - TDD (Lecture SS 2015)
Day1 - TDD (Lecture SS 2015)Day1 - TDD (Lecture SS 2015)
Day1 - TDD (Lecture SS 2015)wolframkriesing
 
Kata Your Way to SW Craftsmanship
Kata Your Way to SW CraftsmanshipKata Your Way to SW Craftsmanship
Kata Your Way to SW CraftsmanshipCamille Bell
 
Unwritten Manual for Pair Programming
Unwritten Manual for Pair ProgrammingUnwritten Manual for Pair Programming
Unwritten Manual for Pair ProgrammingLemi Orhan Ergin
 
Mobile Development - Unit and Automation Testing
Mobile Development - Unit and Automation TestingMobile Development - Unit and Automation Testing
Mobile Development - Unit and Automation TestingManuel Vicente Vivo
 
Global Day of Coderetreat Munich 2018
Global Day of Coderetreat Munich 2018Global Day of Coderetreat Munich 2018
Global Day of Coderetreat Munich 2018David Völkel
 
Global Day of Coderetreat Munich 2017
Global Day of Coderetreat Munich 2017Global Day of Coderetreat Munich 2017
Global Day of Coderetreat Munich 2017David Völkel
 
2014 05-14-pythoncodingdojo
2014 05-14-pythoncodingdojo2014 05-14-pythoncodingdojo
2014 05-14-pythoncodingdojoaschlapsi
 
iOS Test-Driven Development
iOS Test-Driven DevelopmentiOS Test-Driven Development
iOS Test-Driven DevelopmentPablo Villar
 
Python Coding Dojo - 2014-03-19
Python Coding Dojo - 2014-03-19Python Coding Dojo - 2014-03-19
Python Coding Dojo - 2014-03-19aschlapsi
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Developmentjakubkoci
 

Similar a Guildford Coding Dojo1 (20)

Tdd
TddTdd
Tdd
 
Kata de TDD by Jordi Anguela
Kata de TDD by Jordi AnguelaKata de TDD by Jordi Anguela
Kata de TDD by Jordi Anguela
 
Test Driven Development Workshop
Test Driven Development WorkshopTest Driven Development Workshop
Test Driven Development Workshop
 
TDD BDD PHP - Sviluppo guidato dai test in PHP con phpspec
TDD BDD PHP - Sviluppo guidato dai test in PHP con phpspecTDD BDD PHP - Sviluppo guidato dai test in PHP con phpspec
TDD BDD PHP - Sviluppo guidato dai test in PHP con phpspec
 
Code Retreat
Code RetreatCode Retreat
Code Retreat
 
TDD and Simple Design Workshop - Session 1 - March 2019
TDD and Simple Design Workshop - Session 1 - March 2019TDD and Simple Design Workshop - Session 1 - March 2019
TDD and Simple Design Workshop - Session 1 - March 2019
 
Tdd is not about testing
Tdd is not about testingTdd is not about testing
Tdd is not about testing
 
Day1 - TDD (Lecture SS 2015)
Day1 - TDD (Lecture SS 2015)Day1 - TDD (Lecture SS 2015)
Day1 - TDD (Lecture SS 2015)
 
Code Kata
Code KataCode Kata
Code Kata
 
Kata Your Way to SW Craftsmanship
Kata Your Way to SW CraftsmanshipKata Your Way to SW Craftsmanship
Kata Your Way to SW Craftsmanship
 
Unwritten Manual for Pair Programming
Unwritten Manual for Pair ProgrammingUnwritten Manual for Pair Programming
Unwritten Manual for Pair Programming
 
Mobile Development - Unit and Automation Testing
Mobile Development - Unit and Automation TestingMobile Development - Unit and Automation Testing
Mobile Development - Unit and Automation Testing
 
Global Day of Coderetreat Munich 2018
Global Day of Coderetreat Munich 2018Global Day of Coderetreat Munich 2018
Global Day of Coderetreat Munich 2018
 
Global Day of Coderetreat Munich 2017
Global Day of Coderetreat Munich 2017Global Day of Coderetreat Munich 2017
Global Day of Coderetreat Munich 2017
 
2014 05-14-pythoncodingdojo
2014 05-14-pythoncodingdojo2014 05-14-pythoncodingdojo
2014 05-14-pythoncodingdojo
 
iOS Test-Driven Development
iOS Test-Driven DevelopmentiOS Test-Driven Development
iOS Test-Driven Development
 
Python Coding Dojo - 2014-03-19
Python Coding Dojo - 2014-03-19Python Coding Dojo - 2014-03-19
Python Coding Dojo - 2014-03-19
 
BDD
BDDBDD
BDD
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
Basic TDD moves
Basic TDD movesBasic TDD moves
Basic TDD moves
 

Último

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024The Digital Insurer
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 

Último (20)

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 

Guildford Coding Dojo1

  • 1. k e ! gs to a s in BGuildford Coding Dojo
  • 2. First Things First Who are you? What do you do? Coding experience One unusual factoid about yourself
  • 3. Some Definitions Dojo - “the place of learning the way”
  • 4. Some Definitions Kata - “way of doing” A choreographed series of motions designed to teach a particular skill or pattern
  • 5. What’s the Idea? Deliberate Practice of Key Skills Learn from others HAVE FUN!
  • 6. Dojo Rules We respect each other’s commitment (No phones, email, Facebook etc) We all do TDD We all do pair programming We do “Simple Design”
  • 7. Simple Design All tests pass Clear, expressive and consistent Does not duplicate behaviour or configuration Minimises the number of classes and methods
  • 8. Format Pair up A problem is presented to be solved We work on it in pomodoros (25 minute cycles) - http://tomato.ist/gcd When time up, 5 minute break to demo your code to nearby pair, and reflect At the end we show & tell our code
  • 9. TDD Refresh Write a failing test Watch it fail(!) Write code to make it pass Refactor Rinse & repeat
  • 10. Uncle Bob’s Laws of TDD You may not write production code until you have written a failing unit test You may not write more of a unit test than is sufficient to fail (not compiling is a counted as a test failure) You may not write more production code than is sufficient to pass the currently failing test
  • 11. FizzBuzz Write a program that prints the numbers from 1 to 100. But for multiples of three print “Fizz” instead of the number and for the multiples of five print “Buzz”. For numbers which are multiples of both three and five print “FizzBuzz”: 1, 2, Fizz, 4, Buzz, Fizz, 7, 8, Fizz, Buzz, 11, Fizz, 13, 14, FizzBuzz, 16, 17, etc...
  • 14. FizzBuzz (2) Now modify your code to print “Whizz” for multiples of 7! Multiple of 3: Fizz Multiple of 5: Buzz Multiple of 7: Whizz
  • 17. FizzBuzz (3) Now modify your code to print “Fizz” for multiples of 3 AND numbers with digit 3 in them! Multiple of 3 or contains digit ‘3’: Fizz Multiple of 5: Buzz Multiple of 7: Whizz
  • 20. So how did it go? Is the code clean? Any smells? Refactored? How often? Open/Closed?
  • 21. Thank You Chris Pitts @thirstybear This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License.