Upload
marian-schubert
View
148
Download
1
Embed Size (px)
Citation preview
GDCR PRAHA 2013
Trénink, trénink, trénink
For 37 years I’ve practiced fourteen hours a day, and now they call me a genius!
Pablo de Sarasate, Famous Spanish Violinist and Composer
Conway’s Game of Lifecellular automaton
• Plocha světa je nekonečná dvourozměrná mříž obsahující buňky.
• Každá z buněk má 8 sousedů.
• Buňka je v jednom že stavu: mrtvá nebo živá.
• Buňky mění stav po každém kroku a všechny v jeden okamžik.
• Stav buňky v dalším kroku je určen stavem její sousedů
Game Of Life
Pravidla• Pokud má živá buňka míň než dva živé sousedy,
umírá v důsledku nedostaku obyvatel.
• Pokud má živá buňka dva nebo tři živé sousedy, zůstává naživu do dalšího kola.
• Pokud má živá buňka více než tři živé sousedy, umírá v důsledku přemnožení.
• Pokud má mrtvá buňka přesně tři živé sousedy, stává se v dalším kole buňkou živou.
4 rules of simple design
• passes all tests
• minimises duplication
• reveals its intent
• has fewer classes/modules/packages…
Párové programování
• Řidič - řeší implementační detaily
• Navigátor - udržuje nadhled, řeší širší souvislosti
!
• Ping pong
TDD - Baby steps• Pomocné testy - špruclíky
• Arrange Act Assert
• Assert first
• Fake it till you make it
• Triangulace
• Scalar to Array
• Test behavior not details
Mute session
PŘÍSNÝ ZÁKAZ MLUVENÍ!'
• komunikace kódem - jsou vaše názvy dost dobré?
• najdi díru v implementaci - zdokumentuj testem
(komentáře nejsou povolené)
• 4 lines per method
• tell, don’t ask
• no return values
• no conditionals/loops
• no mutability
Go wild!
• No mouse
• 3D, any-D world
• Configurable set of rules
• TDD as you mean it