Application Katas

Code Katas als Übungen für Softwareentwickler sind in aller Munde. Vorwiegend sind das jedoch sehr kleine Aufgabenstellungen; ihre Probleme sind vor allem algorithmischer Art. Das ist für einen Einstieg in regelmäßiges Üben gut – aber am Ende praxisfern.

Um die Herausforderung auf die nächste Stufe zu heben, bieten die Clean Code Advisors auf dieser Seite Katas größeren Umfangs. Es sind “ganze Applikationen” mit Frontend und Backend. An ihnen können mehr Methoden und Technologien erprobt werden als an Code Katas. Sie können allein oder in der Gruppe oder sogar verteilt in der Gruppe realisiert werden.

Jede Application Kata (oder kurz: AppKata) besteht darüber hinaus aus mehreren Iterationen. Wer noch mehr Realitätsnähe will, der schaut sich deshalb nicht gleich den endgültigen Anforderungsumfang an, sondern geht wirklich iterativ vor. Erst wenn die Anforderungen einer Iteration umgesetzt sind, werden die Anforderungen der nächsten studiert.

Happy kata coding wünschen die Clean Code Advisors!

Kata CSV Viewer

Den Anfang macht eine kleine Anwendung zur Darstellung von CSV Dateien auf der Console. Die fängt sachte an – hat es am Ende aber in sich:

Kata Questionnaire

Für den Freund von GUI-Anwendungen hier eine Kata, bei der es darum geht, Fragebögen ausfüllen zu lassen. Wer sich zum DDD hingezogen fühlt, kommt hier sicher auf seine Kosten.

Kata Tic Tac Toe

Wer “spielerisch veranlagt” ist, den mag diese Kata reizen. Allerdings geht es nicht um GUI-Spielereien; hier ist auch nur eine Konsolenbenutzerschnittstelle gefragt. Dafür ist das Thema ein – zugegebenermaßen einfaches – Game, das am Ende auch den Infrastrukturtüftler reizen wird.

Kata Data Flow Execution Engine

Infrastruktur entwickeln, ist doch immer cool, oder? Dann ist hier die richtige Aufgabe für alle richtigen Programmierer. Aber nicht schon wieder ein Persistenzframework. Stattdessen eine Runtime für Flow-Design Modelle. Die muss aber nicht selbst auf der Basis von Flow-Design realisiert werden. Anything goes :-)

Kata Systemic Consent

Hier geht es wieder langsam los mit einem Console-GUI – dafür ist der Inhalt keine Spielerei. Es geht um die Unterstützung der Entscheidungsfindung in Gruppen. Die läuft normalerweise per Mehrheitsentscheid – doch das birgt Probleme in sich und kann lange dauern, bis es überhaupt zu einer Mehrheit kommt. Dem setzt das sog. Systemische Konsensieren eine Alternative entgegen: die Entscheidung für den geringsten Widerstand. Wer also nicht nur für seine technischen Fertigkeiten etwas tun will, sondern auch noch die Entscheidungen im Projekt oder daheim befördern möchte, der versucht sich an dieser AppKata.

Comments are closed.