Clean Code Dojo: Katas bei Code Wars

Du bist Software-EntwicklerIn und möchtest besser werden? Das geht durch eigene Übung und Lernen vom Code von anderen. Code Wars ist eine tolle Plattform, die genau das kostenlos anbietet. 

Was ist Code Wars?

Code was ist eine Plattform für Software-EntwicklerInnen, die Katas in (fast) allen gängigen verschiedenen Programmiersprachen anbietet. Katas sind Übungsaufgaben für Software-EntwicklerInnen, die ich hier schon ausführlicher vorgestellt hatte: clean-code-dojo.html.

Das Tolle an Code Wars ist, dass es sehr viele Katas in unterschiedlichen Schwierigkeitsgraden gibt. Die Katas werden von der Code Wars Community erstellt, jeder kann Katas trainieren oder neue für andere Code Wars Benutzer schreiben. Deshalb gibt es hier bereits viele Übungsaufgaben und es werden immer mehr.

Die Code Wars Community liefert dann auch den 2. tollen Lerneffekt. Wir können uns nämlich zu jedem Kata, die Lösungen von anderen Code Wars Benutzern anschauen und so Lernen wie andere Probleme lösen oder die Features der eingesetzten Programmiersprache nutzen. Um das alles zu verdeutlichen zeige ich im nächsten Abschnitt ein Beispiel.

Beispiel Kata in Code Wars

Zuerst sucht ihr euch ein Kata aus. Dazu könnt ihr, wie hier gezeigt, nach der Programmiersprache und dem Schwierigkeitsgrad filtern.


Im nächsten Screenshot seht ihr, dass ich exemplarisch das Kata "Even or Odd" trainiert bzw. programmiert habe. Beim Training implementiert man einen Algorithmus, der die Testfälle des Katas erfolgreich durchläuft. Je nach Schwierigkeit des Katas sind das manchmal auch Tests, welche die Performance eurer Implementierung testen.


Habt ihr das Kata gelöst? Dann könnt ihr euch die Lösungen von anderen EntwicklerInnen anschauen und mit eurer Lösung vergleichen. Auf diese Weise lernt ihr elegantere, performantere oder neue Lösungsansätze kennen und werdet so mit der Zeit selbst besser. Meine zuvor gezeigte Lösung geht z.B. als Einzeiler deutlich eleganter, daher haben auch viele andere Code Wars Benutzer die besten Lösungen entsprechend mit "Likes" in den Kategorien "Best Practices" oder "Clever" unterstützt.


Fazit

Ich finde Code Wars toll und mir machen die Katas Spaß. In den höheren Schwierigkeitsgraden dauert es ziemlich lang eine passende Lösung zu finden (z.B. MineSweeper Kata), aber es ist ja Eure Entscheidung, wie lange ihr üben möchtet.

Aktuell beschränkt sich Code Wars auf Algorithmen, die mit dem Standard Bibliotheken der jeweiligen Programmiersprache zu lösen sind. In Java könnt ihr z.B. das JDK 17 verwenden, aber nicht das Spring Framework. Deshalb findet ihr hauptsächlich Katas in denen es um Algorithmen, Reguläre Ausdrücke, Transformationen, Mathematik oder allgemeine Rätsel geht, aber keine Technologie-Katas zu Frameworks und 3rd Party Bibliotheken.

Am besten ihr probiert es einmal aus und entscheidet dann selbst, ob ihr so lernen möchtet oder nicht:
www.codewars.com

Kommentare

Beliebte Posts aus diesem Blog

OpenID Connect mit Spring Boot 3

Authentifizierung in Web-Anwendungen mit Spring Security 6

Validierung per Annotation in Java und Spring