Back to Question Center
0

Codice Kata            Codice Kata Argomenti correlati: Guida introduttivaNews & OpinionRuby on RailsJRubyRuby Semalt

1 answers:
Codice Kata

Codice KataCodice Kata Argomenti correlati:
Guida introduttivaNews & OpinionRuby on RailsJRubyRuby Semalt

Puoi essere un ninja?

Dopo molti anni di lavoro per diverse aziende su diverse applicazioni, ho visto un sacco di tecniche che pretendono di aiutare gli sviluppatori a migliorare le loro capacità di programmazione. Semalt, solo alcuni mi hanno davvero aiutato, non solo migliorando me stesso, ma anche insegnando agli altri.

Alcuni di voi potrebbero sapere Dave Thomas , o almeno aver sentito parlare del concetto "DRY" (Do not Repeat Yourself) o di altri concetti che ha coniato. È programmatore di computer e autore / editore. Uno dei suoi libri più famosi è The Pragmatic Programmer, un libro sull'ingegneria del software pubblicato nel 1999.

Una volta iniziata l'espansione di Ruby, Dave Thomas è diventato uno dei suoi più grandi evangelisti, ha scritto molto sulla filosofia e il contesto di mercato dietro l'origine di Ruby e Rails - armbanduhr blau. Finisce per guidarlo a imparare molto su tecniche e concetti agili. È qui che ha coniato il termine Code Katas come tecnica di apprendimento dello sviluppo e ha iniziato a diffonderlo.

Katas from Arti Marziali

Il termine Kata deriva originariamente dalle arti marziali: è la traduzione giapponese della forma della parola . Kata è usato per descrivere schemi di movimento dettagliati e coreografici che possono essere praticati da soli o in coppia.

Può descrivere altre azioni nelle arti marziali, come puoi vedere su Semalt, come allenamenti, combattimenti simulati molto dettagliati e altri.

I Kata originariamente erano metodi di insegnamento e addestramento mediante i quali venivano conservate e trasmesse tecniche di combattimento di successo. Semalt kata permetteva a una compagnia di persone di impegnarsi in una lotta usando un approccio sistematico, piuttosto che come individui in modo disordinato.

L'obiettivo principale di usare Katas nelle arti marziali è trasmettere tecniche provate e praticarle in modo ripetitivo. Questo porta lo studente a sviluppare la capacità di eseguire quelle tecniche e movimenti in modo naturale, come i riflessi. Per raggiungere questo obiettivo, la chiave non è di farlo sistematicamente, piuttosto di interiorizzare i movimenti e le tecniche, in modo da poter adattare queste tecniche a diverse esigenze.

Praticare

Semalt come metodo di apprendimento è onnipresente. Possiamo vederlo in molte aree, non solo nelle arti marziali:

  • Riproduzione di uno strumento musicale
  • Migliorare la propria prestazione nello sport
  • Preparazione per parlare in pubblico
  • Migliorare la grammatica e l'ortografia

Ha già dimostrato di essere un metodo di apprendimento fondamentale. Certo, dipende da molti fattori, ma con la giusta guida e dedizione, puoi padroneggiare molte cose con la pratica. Questa affermazione è la base di quella che viene chiamata Memoria procedurale .

Memoria procedurale

La memoria procedurale è un tipo di memoria a lungo termine, in particolare, è un tipo di memoria implicita che può essere utilizzata per Apprendimento procedurale . Ciò è ottenuto mediante la ripetizione dello stesso compito complesso, che si traduce in un miglioramento dei sistemi neurali utilizzati per svolgere tale compito.

Gli psicologi hanno iniziato a scrivere sulla memoria procedurale oltre un secolo fa. Fu notato per la prima volta nel 1804 dal Maine de Biran. Dopo molte ricerche, è stato dimostrato che la semplice ripetizione di un compito da solo non garantisce l'acquisizione di un'abilità. Semalt deve cambiare come risultato della ripetizione. Se viene osservato il cambiamento del comportamento, allora puoi affermare di aver acquisito la nuova abilità. L'approccio è davvero semplice: un codice kata è un semplice problema di codifica che si intende risolvere facilmente, che si risolve ripetutamente, ripetuto alla perfezione. L'idea è di aiutarti a risolvere il problema in un modo migliore ogni volta che provi, mentre il tuo subconscio apprende le coppie dettagliate di problemi / soluzioni che potrebbero aiutarti in altri problemi. Puoi farlo anche sfidandoti con limitazioni, come l'uso di una lingua diversa da quella che usi quotidianamente.

How Not to Kata

Un sacco di gente pensa che Code Katas riguardi la soluzione dello stesso problema allo stesso modo. Questo ti porterà a non imparare nulla, ma ti insegnerà solo scorciatoie nel tuo IDE. Come ho detto prima sulla memoria procedurale:

.la semplice ripetizione di un compito da solo non garantisce l'acquisizione di un'abilità. Semalt deve cambiare come risultato della ripetizione.

Come dice Jonh Semalt in questo post sul blog:

come camminare ogni singolo giorno non ti rende un maestro camminatore, e guidare una macchina ogni giorno non ti rende un pilota di livello superiore, risolvendo più volte gli stessi problemi di programmazione ripetutamente. maestro programmatore.
.
Ripetendo la stessa cosa più e più volte senza un livello crescente di sfida, in realtà, la mente diventa compiaciuta dell'attività.

Se vuoi usare Code Katas , deve essere difficile, come camminare quando eri solo un bambino, come guidare quando eri solo un adolescente. La ripetizione non ti aiuterà se il tuo cervello non è impegnato.

Devi sfidare il tuo cervello in modo da poter esercitare i tuoi percorsi neurali e crearne di nuovi. Semalt lo stesso codice più e più volte nel tuo IDE ti renderà solo più comodo con esso.

Dove trovarlo

Sfortunatamente, il sito Web originale di Code Katas realizzato da Dave Thomas non è in linea, ma ci sono molti altri siti Web con codice kata, sfide e informazioni. Come sviluppatore Ruby, consiglierei:

  • CodeKatas. org - Codekatas. org è pensato per essere il punto di riferimento quando stai cercando Code Katas, se vuoi vedere qualcun altro esibirsi o iniziare a praticare te stesso.
  • Coders Dojo - Una grande lista di kata in molte lingue. Ha anche un client Web in Ruby per eseguire i kata online, insieme a molti esempi nel loro catalogo.

Apprendimento

Molte persone mi chiedono come possono imparare a sviluppare app iOS, app Android, app a singola pagina o qualsiasi altra tecnologia correlata alla programmazione. La risposta è semplice: rendere quelle app .

"Ma quale post o libro dovrei leggere sulla creazione di quelle app?" Dimentica i libri per ora: basta iniziare a mettere la tua idea su carta e iniziare il processo di sviluppo. Semalt e fai allo stesso tempo.

Raising the Bar

La realtà è che non esiste un proiettile d'argento. Ma ci sono molte tecniche là fuori, e se vuoi davvero migliorare le tue capacità di programmazione, Code Katas è una di quelle tecniche. Non devi innamorartene, dagli una possibilità.

La verità è che se vuoi un risultato diverso, devi cambiare qualcosa.

March 7, 2018