Coderetreat 2013 @cowo42 (Osimo - AN)

Post on 06-May-2015

107 views 0 download

Transcript of Coderetreat 2013 @cowo42 (Osimo - AN)

Global Day of Code Retreat 2013

#gdcr13Sabato 14 Dicembre 2013

@cowo42 Osimo

Non siamo soli :)

Nessuna Pressione

Si può sperimentare

Come si svolge una sessione

Come sarà organizzata la giornata

● 3 sessioni dalle 10 alle 13

● pranzo dalle 13 alle 14:30

● 2 sessioni fino alle 17

Simple Design

● Passa tutti i suoi test

● Esprime chiaramente gli

intenti

● Non contiene duplicazione

● Non ha parti superflue

Pair Programming

10 Scrivi un test20 Guardalo fallire30 Scrivi il codice più semplice per farlo passare40 RefactoringGOTO 10 //ToDo refactoring

Alla fine di ogni sessione si cancella tutto il codice scritto...

...e si scambia la coppia*

* immagini trovate su google non adatte al contesto

Il Game Of Life

Il GAME OF LIFE è una griglia

bidimensionale infinita di celle

quadrate. Ciascuna cella può

essere VIVA o MORTA.

Ad ogni STEP nel tempo ciascuna cella

intragisce con le8 CELLE VICINE

seguendo 3 REGOLE

1. Ogni cella VIVA con MENO DI DUE VICINI VIVI MUORE di

solitudine

2. Ogni cella VIVA con PIU’ DI TRE VICINI VIVI MUORE per

sovraffollamento.

3. Ogni cella MORTA con ESATTAMENTE TRE VICINI VIVI

NASCE grazie al loro calore.

Evoluzione della Vitaregola 1 regola 2 regola 3

Evoluzione della Vitaregola 1 regola 3regola 2

Evoluzione della Vitaregola 2regola 1 regola 3

Grazie a

@cowo42 che ci ospita

@ricfrank da cui è partita l’organizzazione

@ftassi che ha avuto l’idea di organizzare questa giornata

@gabrielelana che mi ha passato le slide dei coderetreat passati, essenziali per il copia e incolla :)

Variazioni

• Evita di utilizzare primitive• Non utilizzare il ramo else nei flussi condizionali• Tell Don’t Ask Estremo• 5 righe di codice per metodo• Ping Pong Pair Programming• Modella partendo da concetti centrali diversi

(GRIGLIA GIOCO CELLA...)

Variazioni

• Non utilizzare if• Prova ad indovinare il risultato di un test• Non usare gli array• Usa solo “interaction tests”• Usa solo “state based tests”• Usa solo metodi che ritornano void• Solo immutabili

Variazioni

• Non parlare con il compagno di pair• TDD come andrebbe fatto• Non usare il mouse• Usa solo refactoring automatico• Arduino con led fisici