2009-11-17 12 views
14

nelle scorse settimane ho sentito parlare di un fenomeno chiamato 'code-kata'. Quando ho capito bene, significa codificare un esercizio ancora e ancora. Qual è il suo punto? Migliora la tua abillità per progettare un software migliore? Se sì, perché lo fa?Che cos'è un code-kata e a cosa serve?

+0

Per maggiori informazioni vedi questa domanda: http://stackoverflow.com/questions/1432485/coding-katas-for-practicing-the-refactoring-of-legacy-code – willoller

+0

Ho sentito dire che Robert C. Martin ha scritto su questo blog topic: http://blog.objectmentor.com/articles/2009/11/21/whats-all-this-nonsense-about-katas –

risposta

6

ho raccolto un sacco di riferimenti lei: http://slott-softwarearchitect.blogspot.com/2009/08/code-kata-resources.html

La più importante di queste è http://codekata.pragprog.com/

+0

Il secondo link punta a una buona spiegazione - grazie. –

+0

@Roland - Sono d'accordo, link davvero esplicativo. Ho trovato questo collegamento per alcuni hands-on - http://tddkatas.codeplex.com/ –

+0

repository di Codeplex trasferito su Github: https://github.com/garora/TDD-Katas –

8

Questa era la prima volta che ho sentito parlare di questo, così dopo una rapida di Google, ecco la mia reazione istintiva:

Codice Kata non è ripetere un esercizio più e più volte. Piuttosto si tratta di espandere costantemente la tua "zona di comfort" in modo da poter crescere come sviluppatore.

Lavorare semplicemente a progetti che sai fare non ti aiuterà. Devi provare e affrontare i progetti che probabilmente fallirai al primo tentativo.

L'obiettivo finale è che se si tenta continuamente, non si riesce, si riprova, si interrompe di nuovo, ecc., Prima o poi ci si riuscirà. Quando lo fai, hai imparato alcune nuove conoscenze e diventa uno sviluppatore migliore.

Abbastanza ripetizione di questo ovviamente migliorerà le tue capacità.

(scusate se è un po 'un deposito del cervello)

+0

Mi piace la tua discarica, Jim :) Grazie per la spiegazione – ep3static

0

Non è in primo luogo per migliorare le tue abilità di progettazione, piuttosto è un modo per migliorare la produttività nel vostro IDE prescelto.

La ripetizione di un'attività familiare più volte consente di prestare attenzione e sfruttare le scorciatoie IDE e le funzionalità che in precedenza non si conosceva per radersi secondi dal proprio tempo. Ti aiuterà anche a trovare i passaggi non necessari che togli dall'abitudine per poterli ritagliare dalla tua routine.

0

Abbiamo provato alcuni di questi nella mia azienda, i nostri pensieri erano di sviluppare un gioco semplice (ovviamente qualcosa con un po 'di logica che non sapremmo come fare). Avremmo tutti provato a farlo, quindi continueremmo a migliorarlo il più possibile finché non avessimo pensato che avremmo avuto il modo migliore di fare le cose, poi ci saremmo rivisti forse una settimana dopo e abbiamo confrontato i nostri risultati . È interessante vedere come diverse persone escano con soluzioni diverse e tutti imparano dall'esperienza. Forse non è un kata corretta, ma cerchiamo sempre e piegare queste cose a qualcosa che avremmo trovato utile :)