22
Coding Dojo experience Prof. Missiroli

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

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

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