Files
SoftwareCraftmanship/README.md
2015-05-04 13:47:15 +02:00

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