Die Code Kata. Übung macht den Meister

12.02.2015 - Lesezeit ca. 3 Min - 600 Wörter

Code Kata - Übung macht den Meister

Bei den fernöstlichen Kampfsportarten ist eine Kata eine Übung, in der eine bestimmte Abfolge von Kampfbewegungen gegen einen „unsichtbaren“ Gegner ausgeführt wird. Katas werden oft wiederholt und geübt, damit diese Bewegungen in Fleisch und Blut übergehen und während eines Kampfes abgerufen werden können, ohne darüber nachdenken zu müssen und hier schließen wir zur Softwareentwicklung auf.

Eine Code Kata ist nichts anderes als eine kleine Aufgabe, die wir wiederholt ausüben und uns dazu helfen soll, unser Handwerk als Softwareentwickler besser zu beherrschen.

Übung macht den Meister

Als Softwareentwickler werden wir meistens ins kalte Wasser hineingeworfen. Wir haben das, was wir gelernt haben und ggf. einiges an Erfahrung zusammen und schon geht es los … Code schreiben, Code schreiben, Code schreiben. Da und da muss fertig sein.

All die Fertigkeiten, Techniken und Methoden, die wir kennen, kommen nach Bedarf zum Einsatz. Falls wir noch wissen, wie sie funktionieren und sie wohl in der Hitze des Gefechtes nicht vergessen.

Wir üben nicht, außer vielleicht am lebenden Objekt. Kein Wunder, dass manchmal die Qualität zu wünschen übriglässt.

Die üblichen Analogien hier sind MusikerInnen oder LeistungssportlerInnen. Sie haben gelernt, wie ein Instrument zu spielen ist oder, welche unterschiedliche Lauf-Style es gibt und wann diese eingesetzt werden sollten. Wenn wir sie jetzt wie Softwareentwickler behandeln wurden, wäre die Erwartungshaltung, dass ohne jegliche Übung, unser Musiker eine beliebige Symphonie live spielen kann, bzw. dass unsere Sportlerin die Goldmedaille bei den Olympischen Spiele gewinnt. Haltet ihr das für realistisch? Ich nicht.

Es bedarf viele, viele Stunden der Übung um eine Symphonie spielen zu können oder eine Goldmedaille zu gewinnen. Deswegen brauchen Softwareentwickler auch die Möglichkeit Fertigkeiten, Techniken und Methoden zu üben.

Wie läuft es ab?

Man nimmt ein kleines Problem und versucht es zu lösen. Ziel ist bei jeder Wiederholung weiter zu kommen; andere Ansätze zur Lösung auszuprobieren; zu entdecken, welche Techniken für eine bestimmte Problemsorte am besten geeignet sind und sich mit den unterschiedlichen Lösungsmöglichkeiten vertraut zu machen.

Und wozu sollte das Gut sein? Dadurch werden wir in unser Können gefestigt und können in „echten Leben“ qualitativ bessere Software erstellen.

Üblicherweise nehme ich mir 30 bis 45 Minuten Zeit, um an eine Kata zu arbeiten. Manche Katas sind Programmieraufgaben, bei anderen geht es darum sich Strategien und Methoden zur Lösung des Problems zu überlegen. Egal welche Art ihr macht, es ist wichtig ungestört arbeiten zu können. Unterbrechungen mindern deutlich der Lerneffekt.

Eine der wichtigsten Punkte, der beachtet werden muss, ist regelmäßig und wiederholt zur üben, nur so lernen wir wirklich besser zu werden. Wie oft muss man das üben? Nun das ist eben unterschiedlich und jeder sollte sich sein eigener Plan erstellen. Manche Menschen üben einmal am Tag, andere ein paar Mal in der Woche. Wie viel und wie oft ist euer eigene Entscheidung, trifft sie Weise. Wenn ihr oft genug mit einer bestimmten Kata geübt habt, wechsle zu eine anderen. Die Anzahl an unterschiedliche Katas ist groß und ihr könnt auch euer eigene erfinden. Am Ende dieses Artikels sind ein paar Verlinkungen auf Seiten, welche Kata-Kataloge unterhalten.

Gefahren bei Code Katas?

Meine Meinung nach sind Coding Katas ein effektives Medium um sich zu verbessern, aber das geschieht nicht durch Magie. Wer sich immer wieder die gleiche Kata vornimmt und sie auf die gleiche Art und Weise löst, lernt nichts dazu. Es geht darum neue Ideen zu entwickeln, neue Wege zu entdecken. Es muss eine Herausforderung dabei sein, welche wir versuchen sollten zu meistern. Nur dadurch lernen wir Neues und entwickeln uns weiter.

Wo finde ich Ideen für Code Katas?


Wenn du das Lesen des Artikels genossen hast, würde ich mich freuen, wenn du es teilst. :-)