Global Day of Coderetreat 2013 - Prague

Preview:

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