# 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. Clean Code + ATDD ## 5. Refactor mot patterns