Coding Dojo experienceCoding Dojo experience Prof. Missiroli “Acquiring coding skills should be a...

22
Coding Dojo experience Prof. Missiroli

Transcript of Coding Dojo experienceCoding Dojo experience Prof. Missiroli “Acquiring coding skills should be a...

Page 1: Coding Dojo experienceCoding Dojo experience Prof. Missiroli “Acquiring coding skills should be a continuous process...” Dōjō (道場) Luogo in cui si praticano le arti marziali.

Coding Dojo experience

Prof. Missiroli

Page 2: Coding Dojo experienceCoding Dojo experience Prof. Missiroli “Acquiring coding skills should be a continuous process...” Dōjō (道場) Luogo in cui si praticano le arti marziali.

“Acquiring coding skills should be a continuous process...”

Page 3: Coding Dojo experienceCoding Dojo experience Prof. Missiroli “Acquiring coding skills should be a continuous process...” Dōjō (道場) Luogo in cui si praticano le arti marziali.

Dōjō (道場)Luogo in cui si praticano le arti marziali. Trasposto

nel campo informatico a partire dal 2004 a Parigi.

In entrambi i casi:

● Un luogo “sicuro” dove fare pratica.

● Un luogo dove fare errori ed imparare.

● Ci si riunisce per un Kata, ci si diverte e si fa

pratica deliberata.

Page 4: Coding Dojo experienceCoding Dojo experience Prof. Missiroli “Acquiring coding skills should be a continuous process...” Dōjō (道場) Luogo in cui si praticano le arti marziali.

Coding Dōjō

Obiettivi:

● Fare pratica.

● Imparare nuove tecniche.

● Migliorare tecniche esistenti

● NON NECESSARIAMENTE risolvere il

problema

Page 5: Coding Dojo experienceCoding Dojo experience Prof. Missiroli “Acquiring coding skills should be a continuous process...” Dōjō (道場) Luogo in cui si praticano le arti marziali.

Coding Dōjō

Valori:

● Ambiente sicuro

● Nuove idee apprezzate.

● Collaborativo e non competitivo

● Adatto a tutti i livelli di difficoltà

Page 6: Coding Dojo experienceCoding Dojo experience Prof. Missiroli “Acquiring coding skills should be a continuous process...” Dōjō (道場) Luogo in cui si praticano le arti marziali.

Coding Dōjō

Struttura:

● Un computer con proiettore

● Test Driven Development

● Piccoli incrementi (“Baby steps”)

● Tutti devono capire

● SEMPRE partire da zero

Page 7: Coding Dojo experienceCoding Dojo experience Prof. Missiroli “Acquiring coding skills should be a continuous process...” Dōjō (道場) Luogo in cui si praticano le arti marziali.

Regole: NON...

...combattere con gli altri partecipanti

Si collabora, non si compete

..saltare alle conclusioni.

Piccoli passi, no?

...lanciarsi in sterili discussioni.

Il tempo è prezioso

Page 8: Coding Dojo experienceCoding Dojo experience Prof. Missiroli “Acquiring coding skills should be a continuous process...” Dōjō (道場) Luogo in cui si praticano le arti marziali.

Etica

Se sei il prossimo a scrivere il codice, non interrompere il flusso.

Se sai scrivere il codice, vieni a scriverlo.

Se scrivi il codice, tutti devono capire cosa stai facendo.

Se non stai scrivendo codice, non disturbare.

Se hai un’idea, mostrane il codice.

Se sei in difficoltà chiedi aiuto.

Page 9: Coding Dojo experienceCoding Dojo experience Prof. Missiroli “Acquiring coding skills should be a continuous process...” Dōjō (道場) Luogo in cui si praticano le arti marziali.

1. Kata PreparatoRinfrescare, chiarire, esporre nuovi concetti.i.

➔ PresentazioneUn “esperto” mostra come risolvere il

problema

➔ Si parte da zero

➔ Usare TDD & Baby steps

➔ Tutti devono capire ogni passo

➔ Interrompere se non si capisce

che sta succedendo o ci si è

persi

Page 10: Coding Dojo experienceCoding Dojo experience Prof. Missiroli “Acquiring coding skills should be a continuous process...” Dōjō (道場) Luogo in cui si praticano le arti marziali.

Il problema: FizzBuzz

Page 11: Coding Dojo experienceCoding Dojo experience Prof. Missiroli “Acquiring coding skills should be a continuous process...” Dōjō (道場) Luogo in cui si praticano le arti marziali.

Step 1: Foundation

Page 12: Coding Dojo experienceCoding Dojo experience Prof. Missiroli “Acquiring coding skills should be a continuous process...” Dōjō (道場) Luogo in cui si praticano le arti marziali.

Step 2: First test

Page 13: Coding Dojo experienceCoding Dojo experience Prof. Missiroli “Acquiring coding skills should be a continuous process...” Dōjō (道場) Luogo in cui si praticano le arti marziali.

Step 3: Second test

Page 14: Coding Dojo experienceCoding Dojo experience Prof. Missiroli “Acquiring coding skills should be a continuous process...” Dōjō (道場) Luogo in cui si praticano le arti marziali.

Step 3: Third test

Page 15: Coding Dojo experienceCoding Dojo experience Prof. Missiroli “Acquiring coding skills should be a continuous process...” Dōjō (道場) Luogo in cui si praticano le arti marziali.

Step 4: Refactor?

Page 16: Coding Dojo experienceCoding Dojo experience Prof. Missiroli “Acquiring coding skills should be a continuous process...” Dōjō (道場) Luogo in cui si praticano le arti marziali.

Step n: test, test, refactor

SODDISFATTI?

Page 17: Coding Dojo experienceCoding Dojo experience Prof. Missiroli “Acquiring coding skills should be a continuous process...” Dōjō (道場) Luogo in cui si praticano le arti marziali.

Piccola Pausa

Page 18: Coding Dojo experienceCoding Dojo experience Prof. Missiroli “Acquiring coding skills should be a continuous process...” Dōjō (道場) Luogo in cui si praticano le arti marziali.

2. Randori KataEsperienza di sviluppo condivisa

➔ Pair ProgrammingPilota e Navigatore.

➔ TDD+BabystepsNavigatore scrive il test, il pilota risolve.

Si commenta pubblicamente quello

che si fa.

➔ Timeslot MAX 5 minutiAl termine: il pilota diventa navigatore;

un nuovo pilota arriva dalla platea.

Page 19: Coding Dojo experienceCoding Dojo experience Prof. Missiroli “Acquiring coding skills should be a continuous process...” Dōjō (道場) Luogo in cui si praticano le arti marziali.

Scegliamo l’argomento● Punteggio del Bowling

● Gioco della vita (Un po’ lunghetto..)

● Conversione da intero a numero romano (59 -> LIX)

● Valutatore di una stringa

Page 20: Coding Dojo experienceCoding Dojo experience Prof. Missiroli “Acquiring coding skills should be a continuous process...” Dōjō (道場) Luogo in cui si praticano le arti marziali.

Chi comincia?

Page 21: Coding Dojo experienceCoding Dojo experience Prof. Missiroli “Acquiring coding skills should be a continuous process...” Dōjō (道場) Luogo in cui si praticano le arti marziali.

Feedback time

QUI

Page 22: Coding Dojo experienceCoding Dojo experience Prof. Missiroli “Acquiring coding skills should be a continuous process...” Dōjō (道場) Luogo in cui si praticano le arti marziali.

RingraziamentoGran parte delle idee sono prese e

reinterpretate dalle slide “Coding Dojo

instructions” di Viet Nguyen