© Steria Hvordan bli en bedre utvikler? Johannes Brodwall, Chief scientist, Steria Cicero 23. juni, 2010
Intro kodekata – FizzBuzz (30 min) Uncle Bobs tre regler Kode dojo – Binary search (30 min) Lunsj Ny kodekata – Tennis (30 minutter) Thomas Nilssons metode Kode dojo – Pensjon/yatsi (90 min) Oppsummering Johannes’ seks observasjoner
Hvorfor er dere her i dag?
Hvorfor er dere her i dag? Hvorfor er dere her i denne jobben?
Del #1: Fizz Buzz
=> 1 2 => 2 3 => ”fizz” 4 => 4 5 => ”buzz” 6 => ”fizz” …
Hvorfor er dere her i dag? Hvorfor er dere her i denne jobben? Hva kan man lære av kode kata?
Uncle Bobs tre regler 1. No code without failing test 2. Only enough test to fail 3. Only enough code to pass
Kode dojo: Binærsøk
[1,2,3,4,5,6,7],1 => 0 [1,2,3,4,5,6,7],100 => -1
Lunch
Kata: Tennis
,0 => ”Love All” 1,0 => ”15 Love” 3,2 => ”40 30” 3,3 => ”Deuce” …
Thomas Nilsson (responsive design) 1. What variation is not expressed in your code? 2. What test would force you to express this variation? 3. ”Design” med TDD dreier seg om rekkefølge på tester
Kode dojo: Yatsi
(1,1,1,2,4),”enere” => 3 (5,5,5,4,4), ”hus” => 23 (1,2,3,4,5), ”hus” => 0
To ved tastaturet Rotering hvert 5. minutt De som sitter ved tastaturet bestemmer design Men kan spørre publikum
Kode dojo: Pensjon
Utenfra-inn: Total pensjon = … Pensjonspoeng per år Knekkpunkt Totalt pensjonspoeng (”besteårsregelen”)
TDD i “det virkelige liv” jhannes.blip.tv/file/ /
Prinsipp #1: Spesifiser utenfra og inn jhannes.blip.tv/file/ / (10 min) github.com/jhannes/java-ee-spike- kata/tree/1-outside-in
Prinsipp #2: Spesifiser oppførsel jhannes.blip.tv/file/ / jhannes.blip.tv/file/ / (6 min) github.com/jhannes/java-ee-spike- kata/tree/2-1-servlet-test
Prinsipp #3: Øk feedback-frekvensen jhannes.blip.tv/file/ / (5 min) github.com/jhannes/java-ee-spike- kata/tree/3-equals-test
Prinsipp #4: Dyrk fram et API jhannes.blip.tv/file/ / (8 min) github.com/jhannes/java-ee-spike- kata/tree/4-search-for-people
Prinsipp #5: Dyrk fram struktur jhannes.blip.tv/file/ / (3:20 min) github.com/jhannes/java-ee-spike- kata/tree/5-2-refactoring
Prinsipp #6: Det skal virke første gang jhannes.blip.tv/file/ / (5 min) github.com/jhannes/java-ee-spike- kata/tree/6-getting-it-to-work
#1: Bygg utenfra inn #2: Spesifiser oppførsel #3: Test nær koden #4: Dyrk fram API’et #5: Dyrk fram design #6: Det skal virke første gang
Retrospektiv
En ting som overrasket deg En ting du vil lære mer om Hva er din neste anledning til å trene på faget ditt? En ting du vil prøve
Johannes Brodwall Chief Scientist Steria, Norway Takk for oppmerksomheten