105 lines
2.5 KiB
Markdown
105 lines
2.5 KiB
Markdown
# Software Craftmanship
|
|
|
|
Här samlas all källkod som tillverkas i kursen Software Craftmanship som går på Högskolan Väst under vären 2015
|
|
|
|
## 1. Intro TDD
|
|
Här skapades den första katan, String Calculator
|
|
|
|
Coding Dojo
|
|
- En plats dit man går för att träna
|
|
- Övning, delibirate practice
|
|
- Smart vs Professional (Readable, Maintainable, Changeable)
|
|
Agilt
|
|
- Sustainable Pace
|
|
- Automatiserade tester mycket viktigt idag
|
|
|
|
TestDriven development by example av Kent Beck
|
|
- http://www.amazon.com/Test-Driven-Development-By-Example/dp/0321146530
|
|
- Bra på att demonstrera hur TDD går till i praktiken
|
|
|
|
Nytta med TDD
|
|
- More confident, productive, reliable, agile
|
|
|
|
|
|
## 2. Forts + ObjectOrientering
|
|
Här skapade vi den andra katan, Bowling Game
|
|
JUnit test Class Lifecycle
|
|
|
|
Svaret från övningen:
|
|
- static_before
|
|
- Hello
|
|
- before
|
|
- one
|
|
- after
|
|
- Hello
|
|
- before
|
|
- two
|
|
- after
|
|
- static_after
|
|
|
|
En ny test skapas i JUnit som en ny klass med methoden som enda del i denna klass, som anropas. Därför skapas klassen flera gånger.
|
|
|
|
2. Förkortningar på bra tester
|
|
- F ast
|
|
- I ndependant
|
|
- R epeatable
|
|
- S elf validation
|
|
- T imely
|
|
|
|
Eller den här:
|
|
- A utomatic
|
|
- T horough
|
|
- R epeatable
|
|
- I ndependant
|
|
- P rofessional
|
|
|
|
Eller denna variant:
|
|
- R ight (testa rätt sak)
|
|
- B oundries condition (testa gränsfallen)
|
|
- I nverse condition (kan man testa motsatsen av testet)
|
|
- C rosscheck (finns det annat sätt att komma till samma slutsats)
|
|
- E xceptions (hur hanteras dessa)
|
|
- P erformance
|
|
- S et ()
|
|
|
|
Black-Box och White-Box testing
|
|
|
|
Inom WhiteBox-test har man möjligheten att kunna titta in i lådan för att se hur saker fungerar.
|
|
|
|
## 3. Test Double
|
|
Inför detta pas gjorde vi som hemarbete den tredje katan, Poker Kata
|
|
Nu skall den göras på riktigt.
|
|
|
|
### Klassdiagram
|
|
|
|
#### Kort
|
|
- Färg
|
|
- Värde
|
|
|
|
#### Kortlek
|
|
- Kort
|
|
- Blanda
|
|
|
|
#### Spelare
|
|
- 5 Kort
|
|
|
|
#### Spel
|
|
- Kortlek
|
|
- Regler
|
|
- Spelare
|
|
- Jämför händer
|
|
|
|
## 4. Intro till Test Doubles
|
|
- Unit-tester prövar en isolerad enhet
|
|
- När en klass dependar på andra (DOC, Dependent on collaborators) behöver vi isolera dem från testerna
|
|
- Test doubles är stand-ins för DOC och gör att vi kan isolera units för att testa ordentligt
|
|
|
|
### Test Doubles
|
|
- Fake.
|
|
- Stub. Mer implementerade än Fake. Även med Stub som är det States som hanteras.
|
|
- Mock. Ramverk används. KAn preparera vissa objekt för att returnera något känt. Medtod-anrop.
|
|
- Spies. Övervakar vad som händer.
|
|
|
|
|
|
## 5. Refactor mot patterns
|