SlideShare ist ein Scribd-Unternehmen logo
1 von 39
TDD = bra design?
KJETIL KLAUSSEN
Red
GreenRefactor
TDD
KJETIL KLAUSSEN 2
Red
GreenRefactor
TDD
1. Skriv test
2. Sjekk at testen feiler
3. Implementer
4. Sjekk at alle tester er OK
6. Sjekk at alle
tester er OK
5. Forbedring
KJETIL KLAUSSEN 3
Vil TDD
føre til
bedre design?
KJETIL KLAUSSEN 4
KJETIL KLAUSSEN 5
KJETIL KLAUSSEN 6
Bedre enn hva?
KJETIL KLAUSSEN 7
Ops
Testing
Koding
Design
Analyse
Kravspek
KJETIL KLAUSSEN 8
Red
GreenRefactor
TDD
KJETIL KLAUSSEN 9
Kode
Debugging
KJETIL KLAUSSEN 10
Kode
Debugging
KJETIL KLAUSSEN 11
Hva er bra design?
KJETIL KLAUSSEN 12
KJETIL KLAUSSEN 13
KJETIL KLAUSSEN 14
KJETIL KLAUSSEN 15
Man må vite hva bra design er
hvis man ønsker å skape det
- Kjetils postulat
KJETIL KLAUSSEN 16
KJETIL KLAUSSEN 17
KJETIL KLAUSSEN 18
KJETIL KLAUSSEN 19
KJETIL KLAUSSEN 20
KJETIL KLAUSSEN 21
KJETIL KLAUSSEN 22
KJETIL KLAUSSEN 24
Prinsipper
KJETIL KLAUSSEN 25
Patterns
KJETIL KLAUSSEN 26
Prinsipper
Domain-driven design (DDD)
Single responsibility (SRP)
Open/closed (OCP)
Liskov’s substitution (LSP)
Interface segregation (ISP)
Dependency inversion (DIP)
Law of Demeter (LoD)
Tell, don’t ask
Principle of least surprise (PoLP)
Design by Contract
Feature envy
High cohesion / low coupling
4 rules of simple design (4RoSD)
Balanced abstraction
Separation of concerns (SoC)
You ain’t gonna need it (YAGNI)
Don’t repeat yourself (DRY)
Keep it simple stupid (KISS)
KJETIL KLAUSSEN 27
Design Patterns
Factory
Singelton
Monostate
Prototype
Adapter
Bridge
Composite
Decorator
Facade
Flyweight
Proxy
Command
Mediator
Memento
Null Object
Specification
State
Strategy
Template method
Visitor
Repository
Aggregate
Entity
Value Object
Model View Controller
Model View Presenter
KJETIL KLAUSSEN 28
Architectural Patterns
Structure
◦ Component-based
(CBSE)
◦ Monolithic
◦ Layered
◦ Pipes and filters
Shared Memory
◦ Data-centric
◦ Blackboard
◦ Rule-based
Messaging
◦ Event-driven (EDA)
◦ Pub-sub
◦ Message-oriented
Adaptable
◦ Plug-ins
◦ Microkernel
◦ Reflection
◦ DSL
Distributed
◦ Client-server
◦ Shared nothing (SN)
◦ Space-based
◦ Object request broker
◦ Peer-to-peer
◦ REST
◦ Service-oriented
◦ Microservices
KJETIL KLAUSSEN 29
KJETIL KLAUSSEN 31
"You can't do good design
without experience.
When less experienced people
do TDD they typically don't
refactor enough, leading to sub-
optimal designs"
- Martin Fowler
KJETIL KLAUSSEN 32
Red
GreenRefactor
TDD
KJETIL KLAUSSEN 33
TDD = bra design?
KJETIL KLAUSSEN 34
"Be humble about what
tests can achieve.
Tests don’t improve
quality: developers do."
- James O. Coplien
KJETIL KLAUSSEN 35
Prinsipper
KJETIL KLAUSSEN 36
Patterns
KJETIL KLAUSSEN 37
Red
GreenRefactor
TDD
KJETIL KLAUSSEN 38
KJETIL KLAUSSEN 39

Weitere ähnliche Inhalte

Was ist angesagt?

Overview on TDD (Test Driven Development) & ATDD (Acceptance Test Driven Deve...
Overview on TDD (Test Driven Development) & ATDD (Acceptance Test Driven Deve...Overview on TDD (Test Driven Development) & ATDD (Acceptance Test Driven Deve...
Overview on TDD (Test Driven Development) & ATDD (Acceptance Test Driven Deve...
Zohirul Alam Tiemoon
 
Tdd in php a brief example
Tdd in php   a brief exampleTdd in php   a brief example
Tdd in php a brief example
Jeremy Kendall
 

Was ist angesagt? (20)

Test drive on driven development process
Test drive on driven development processTest drive on driven development process
Test drive on driven development process
 
TDD with RSpec
TDD with RSpecTDD with RSpec
TDD with RSpec
 
Tdd com Java
Tdd com JavaTdd com Java
Tdd com Java
 
Test driven development(tdd)
Test driven development(tdd)Test driven development(tdd)
Test driven development(tdd)
 
Test driven development vs Behavior driven development
Test driven development vs Behavior driven developmentTest driven development vs Behavior driven development
Test driven development vs Behavior driven development
 
Test Driven Development Powered by LEGO
Test Driven Development Powered by LEGOTest Driven Development Powered by LEGO
Test Driven Development Powered by LEGO
 
TDD and Getting Paid
TDD and Getting PaidTDD and Getting Paid
TDD and Getting Paid
 
Overview on TDD (Test Driven Development) & ATDD (Acceptance Test Driven Deve...
Overview on TDD (Test Driven Development) & ATDD (Acceptance Test Driven Deve...Overview on TDD (Test Driven Development) & ATDD (Acceptance Test Driven Deve...
Overview on TDD (Test Driven Development) & ATDD (Acceptance Test Driven Deve...
 
Agile Test Driven Development
Agile Test Driven DevelopmentAgile Test Driven Development
Agile Test Driven Development
 
TDD vs. ATDD - What, Why, Which, When & Where
TDD vs. ATDD - What, Why, Which, When & WhereTDD vs. ATDD - What, Why, Which, When & Where
TDD vs. ATDD - What, Why, Which, When & Where
 
A Not-So-Serious Introduction to Test Driven Development (TDD)
A Not-So-Serious Introduction to Test Driven Development (TDD) A Not-So-Serious Introduction to Test Driven Development (TDD)
A Not-So-Serious Introduction to Test Driven Development (TDD)
 
Tdd in php a brief example
Tdd in php   a brief exampleTdd in php   a brief example
Tdd in php a brief example
 
Developers’ mDay u Banjoj Luci - Milan Popović, PHP Srbija – Testimony (about...
Developers’ mDay u Banjoj Luci - Milan Popović, PHP Srbija – Testimony (about...Developers’ mDay u Banjoj Luci - Milan Popović, PHP Srbija – Testimony (about...
Developers’ mDay u Banjoj Luci - Milan Popović, PHP Srbija – Testimony (about...
 
TDD and Simple Design Workshop - Session 1 - November 2018
TDD and Simple Design Workshop - Session 1 - November 2018TDD and Simple Design Workshop - Session 1 - November 2018
TDD and Simple Design Workshop - Session 1 - November 2018
 
Test Driven Development Part 1
Test Driven Development Part 1Test Driven Development Part 1
Test Driven Development Part 1
 
TDD That Was Easy!
TDD   That Was Easy!TDD   That Was Easy!
TDD That Was Easy!
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
TDD - Test Driven Development
TDD - Test Driven DevelopmentTDD - Test Driven Development
TDD - Test Driven Development
 
TDD (Test Driven Design)
TDD (Test Driven Design)TDD (Test Driven Design)
TDD (Test Driven Design)
 

Andere mochten auch

право и мораль
право и моральправо и мораль
право и мораль
Lepercus
 
Marketingul prin continut (Content Marketing)
Marketingul prin continut (Content Marketing)Marketingul prin continut (Content Marketing)
Marketingul prin continut (Content Marketing)
Marcel Bagrin
 
право и мораль
право и моральправо и мораль
право и мораль
Lepercus
 
Guidelines for marine lifting operations
Guidelines for marine lifting operationsGuidelines for marine lifting operations
Guidelines for marine lifting operations
zombie399
 
Separable phrasal verbs (2)
Separable phrasal verbs (2)Separable phrasal verbs (2)
Separable phrasal verbs (2)
imariabel
 

Andere mochten auch (18)

UPC and eCommerce
UPC and eCommerceUPC and eCommerce
UPC and eCommerce
 
право и мораль
право и моральправо и мораль
право и мораль
 
清单
清单清单
清单
 
Strategic Management Practice in Community Sport Lecture 3 070314
Strategic Management Practice in Community Sport Lecture 3 070314Strategic Management Practice in Community Sport Lecture 3 070314
Strategic Management Practice in Community Sport Lecture 3 070314
 
Ferdig snart?
Ferdig snart?Ferdig snart?
Ferdig snart?
 
Ferdig snart? (KsuDev)
Ferdig snart? (KsuDev)Ferdig snart? (KsuDev)
Ferdig snart? (KsuDev)
 
Poland
PolandPoland
Poland
 
Marketingul prin continut (Content Marketing)
Marketingul prin continut (Content Marketing)Marketingul prin continut (Content Marketing)
Marketingul prin continut (Content Marketing)
 
Raspberry Pi (NNUG Februar 2013)
Raspberry Pi (NNUG Februar 2013)Raspberry Pi (NNUG Februar 2013)
Raspberry Pi (NNUG Februar 2013)
 
Chanel
ChanelChanel
Chanel
 
право и мораль
право и моральправо и мораль
право и мораль
 
TDD er død. Lenge leve TDD!
TDD er død. Lenge leve TDD!TDD er død. Lenge leve TDD!
TDD er død. Lenge leve TDD!
 
Final INTED 2013 presentation 040313
Final INTED 2013 presentation 040313Final INTED 2013 presentation 040313
Final INTED 2013 presentation 040313
 
Guidelines for marine lifting operations
Guidelines for marine lifting operationsGuidelines for marine lifting operations
Guidelines for marine lifting operations
 
Separable phrasal verbs (2)
Separable phrasal verbs (2)Separable phrasal verbs (2)
Separable phrasal verbs (2)
 
Ayon sa katangian
Ayon sa katangianAyon sa katangian
Ayon sa katangian
 
Optimizarea SEO in 2015
Optimizarea SEO in 2015Optimizarea SEO in 2015
Optimizarea SEO in 2015
 
Profeta Ezequiel
Profeta EzequielProfeta Ezequiel
Profeta Ezequiel
 

Ähnlich wie TDD = bra design?

Coderetreat @ CodersTUG
Coderetreat @ CodersTUGCoderetreat @ CodersTUG
Coderetreat @ CodersTUG
Matteo Baglini
 
Test-Driven Development Reference Card
Test-Driven Development Reference CardTest-Driven Development Reference Card
Test-Driven Development Reference Card
Seapine Software
 
Test Driven Development by Sameer Arora
Test Driven Development by Sameer AroraTest Driven Development by Sameer Arora
Test Driven Development by Sameer Arora
Xebia IT Architects
 

Ähnlich wie TDD = bra design? (20)

Global Day of Coderetreat Munich 2017
Global Day of Coderetreat Munich 2017Global Day of Coderetreat Munich 2017
Global Day of Coderetreat Munich 2017
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
Coderetreat @ CodersTUG
Coderetreat @ CodersTUGCoderetreat @ CodersTUG
Coderetreat @ CodersTUG
 
Coding Dojo Firenze - vol1
Coding Dojo Firenze - vol1 Coding Dojo Firenze - vol1
Coding Dojo Firenze - vol1
 
How have we developed product without bugs
How have we developed product without bugsHow have we developed product without bugs
How have we developed product without bugs
 
Big code refactoring with agility
Big code refactoring with agilityBig code refactoring with agility
Big code refactoring with agility
 
Test-Driven Development Reference Card
Test-Driven Development Reference CardTest-Driven Development Reference Card
Test-Driven Development Reference Card
 
TDD - Unit testing done right and programmer happiness
TDD - Unit testing done right and programmer happinessTDD - Unit testing done right and programmer happiness
TDD - Unit testing done right and programmer happiness
 
Global Day of Coderetreat Munich 2018
Global Day of Coderetreat Munich 2018Global Day of Coderetreat Munich 2018
Global Day of Coderetreat Munich 2018
 
TDD reloaded - JUGTAA 24 Ottobre 2012
TDD reloaded - JUGTAA 24 Ottobre 2012TDD reloaded - JUGTAA 24 Ottobre 2012
TDD reloaded - JUGTAA 24 Ottobre 2012
 
Test Driven Development by Sameer Arora
Test Driven Development by Sameer AroraTest Driven Development by Sameer Arora
Test Driven Development by Sameer Arora
 
Test Driven Development on Android (Kotlin Kenya)
Test Driven Development on Android (Kotlin Kenya)Test Driven Development on Android (Kotlin Kenya)
Test Driven Development on Android (Kotlin Kenya)
 
Best pratice
Best praticeBest pratice
Best pratice
 
Introducing EDD: Error Driven Development
Introducing EDD: Error Driven DevelopmentIntroducing EDD: Error Driven Development
Introducing EDD: Error Driven Development
 
TDD and more than 9000 tries to sell it to a customer
TDD and more than 9000 tries to sell it to a customerTDD and more than 9000 tries to sell it to a customer
TDD and more than 9000 tries to sell it to a customer
 
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
 
Test Driven Development Methodology and Philosophy
Test Driven Development Methodology and Philosophy Test Driven Development Methodology and Philosophy
Test Driven Development Methodology and Philosophy
 
Tdd and bdd
Tdd and bddTdd and bdd
Tdd and bdd
 
Test-Driven Development
Test-Driven DevelopmentTest-Driven Development
Test-Driven Development
 
Being Test-Driven: It's not really about testing
Being Test-Driven: It's not really about testingBeing Test-Driven: It's not really about testing
Being Test-Driven: It's not really about testing
 

Kürzlich hochgeladen

CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
shinachiaurasa2
 

Kürzlich hochgeladen (20)

Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfThe Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptxBUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
ManageIQ - Sprint 236 Review - Slide Deck
ManageIQ - Sprint 236 Review - Slide DeckManageIQ - Sprint 236 Review - Slide Deck
ManageIQ - Sprint 236 Review - Slide Deck
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 

TDD = bra design?

Hinweis der Redaktion

  1. For de som ennå ikke har fått med seg hva TDD er – og det bør ikke være noen i dette rommet her – så tar vi en rask intro
  2. TDD handler om å skrive en test for en funksjonalitet man ønsker, sjekke at testen feiler, implementer funksjonalitetet og sjekke at testen går gjennom. Man implementerer så lite som overhodet mulig for å få testen til å passere og når man er i grønn sone så tar man seg tid til å forbedre koden gjennom refaktorering. Når man er fornøyd sjekker man at alt fortsatt fungerer og skriver neste test.
  3. Så vil TDD føre til bedre design? Håndsopprekking?
  4. For de som vil bevare spenningen til slutt; vennligst lukk øyne og øre
  5. Nei, TDD vil ikke gi deg et bedre design. Kanskje et litt annet design, men ikke nødvendigvis et bra design
  6. Det første vi må spørre oss om da er; bedre enn hva?
  7. Bedre enn vannfall?
  8. Jeg har sett mange som mener at TDD er bedre enn vannfall, men vi må huske at TDD primært er en arbeidsflyt - ikke en prosess-metodikk
  9. Da er det mer naturlig å sammenligne med denne arbeidsflyten. Og ja; jeg vil påstå at TDD er en bedre arbeidsflyt er dette.
  10. Så hvis du vil endre ratioen til fordel for koding, så vil jeg absolutt anbefale TDD. Personlig synes jeg koding er langt morsommere enn debugging, så av den grunnen alene ville heller valgt TDD. Men hverken TDD eller Debug-driven development sier noe om design…
  11. Spørsmålet vi trenger å stille oss er; hva er bra design?
  12. Er dette et bra design?
  13. Eller dette?
  14. Dette?
  15. Uansett om det handler om visuelt design…
  16. … eller underliggende struktur og arkitektur, så må man vi vite hvilke design-muligheter man har og velge det som man tror passer best for den løsningen man bygger. Det å designe et system for hinsides skalerbarhet når systemet skal brukes av 14 brukere er et like dårlig valg som å designe et system uten skalerbarhet hvor man har millioner av brukere. Man må vite hva bra design er i den konteksten man er. Hvis ikke….
  17. Hvis ikke ender man opp med dette.
  18. … eller dette
  19. … eller dette
  20. … eller dette
  21. TDD er ingen magisk trylledrikk.
  22. Det å kunne trylle fram et godt design – om man bruker TDD eller ikke – handler om hardt arbeid. Kanskje ikke fysisk, men det krever mye innsats og det krever at du kjære seer prioriterer tid til å lære hva bra design i kontekst av software-utvikling er.
  23. I vårt fagfelt er det primært 2 kilder til godt design: Prinsipper…
  24. … og mønster – eller patterns på nynorsk.
  25. Her er det 18 prinsipper listet opp. Hvor mange kan minst 3 av dem? Og med kan mener at hvis jeg spør deg så kan du forklare meg hva f.eks. Single Reponsibility Principle er. Mer enn 5? 10? Alle 18?
  26. Og 26 av de mest populære design patterns. Hvem kan 5 eller flere? 10? Alle 26?
  27. Dette er verktøyene våre! Dersom du ikke har tenkt å være en ufaglært grov-snekker resten av livet, så må du utvide verktøykassa di. Du må lære disse – og vite hvilke fordeler og ulemper de har, og i hvilken kontekst det ene eller andre prinsippet eller patternet bør velges.
  28. Hvis alt du har er en hammer… Ja, okei – noen klarer seg kanskje godt med bare en hammer
  29. …men for alle oss andre så er det viktig å kunne velge riktig verktøy til oppgaven
  30. Som Martin Fowler sier det; Man kan ikke lage et godt design uten erfaring. Og det å lære prinsipper og patterns handler om å bygge erfaring. En vanlig nybegynner-feil i TDD er at man ikke refaktorerer nok, hvilket igjen fører til sub-optimalt design. Fowler er flink til å velge ord. Hadde de ordene kommet fra meg hadde nok ‘sub-optimalt’ vært byttet ut med ‘røtent’.
  31. Refaktorerings-fasen i TDD er helt essensiell – og kanskje den viktigste fasen. Og for å kunne utnytte den fasen må man vite hvordan man refaktorerer og hva man skal refaktorere til
  32. Så er det slik at man kan putte TDD inn i ene enden og så ramler det vakkert design og englemusikk ut i den andre enden?
  33. Det er ikke TDD i seg selv som skaper designet – det er personen i andre enden av tastaturet som gjør det. Det finnes ikke det verktøy eller den metodikk i verden som automagisk kan gi deg det. Det er fortatt vi som utviklere som må tenke selv. Det er ikke antall kodelinjer pr time vi betales for – det er for å trøkke inn de riktige kodelinjene.
  34. Og da er det prinsipper…
  35. Og patterns som gjelder. Lær dem. Lær så mange du klarer. Og enda litt fler.
  36. Har du det på plass, så vil TDD være til veldig stor nytte
  37. Og suksess vil være innenfor rekkevidde.