Logo der Java User Group Karlsruhe. Auf dem Bild ist der Java Duke zu sehen und im Hintergrund die Fächerstadt Karlsruhe.


Guter Code, Schlechter Code?

Datum:
16.11.2014, 19:15
Aufzeichnung:

Was ist eigentlich guter Code? Wahrscheinlich haben sich viele Entwickler diese Frage schon gestellt und werden sie auch in Zukunft stellen. Zu Schulzeiten hätte ich diese Frage mit “Guter Code muss schnell sein!” beantwortet. Mit dem Resultat, dass ich nach einigen Experimenten mit BASIC und Pascal schließlich bei Assembler gelandet bin. Ja, damit lies sich dann wirklich schneller und haufenweise Code schreiben. An Dinge wie Wartbarkeit oder Lesbarkeit für andere oder mich selbst habe ich damals noch nicht gedacht, schließlich waren es meine ersten Experimente. Alten Code zum Warten gab es für mich damals noch nicht.

Inzwischen hat sich viel geändert, ich arbeite tagtäglich mit monate- oder jahrealtem Code von mir, meinen Kollegen oder ehemaligen Kollegen. Normalerweise handelt es sich dabei um Java oder JavaScript Code, Assembler ist nur noch ganz selten dabei. Ich kenne und halte mich bestmöglich an Bücher wie “Clean Code” von Robert C. Martin, entwickle meist nach TDD und arbeite mit Kollegen denen guter Code genauso am Herzen liegt wie mir. Meine Vorstellung von gutem Code haben seit der Schulzeit damit deutlich geändert und ich habe vor allem gelernt was schlechter Code bedeutet. Trotzdem frage ich mich immer wieder “Was ist eigentlich guter Code?” bzw. “Warum ist dieser Code gut, warum ist jener Code schlecht? Geht es besser? Gibt es überhaupt die perfekte Lösung?”. Mein Kollege Markus und ich stellen Bewerbern regelmäßig eine kleine Programmieraufgabe beim ersten Vorstellungsgespräch. Fachlich und technisch ist die Aufgabe nicht sehr kompliziert und kann mit ein bisschen Java-Collections-Framework-KnowHow in der vorgegebenen Zeit gut gelöst werden. Die allermeisten schaffen das auch.

Interessant dabei ist die Vielzahl an unterschiedlichen Lösungen die wir im letzten Jahr zu sehen bekamen. Letzten Endes gab es praktisch keine zwei gleichen Lösungswege. Dabei haben wir nochmals viel darüber gelernt was guten Code ausmachen kann und ihn von weniger gutem Code unterscheidet. Diese Erfahrungen wollen wir Euch in diesem Vortrag anhand einiger Beispiele näher bringen. Einige dieser Erfahrungen sind: “Code muss einfach sein”, “Code muss sich selbst erklären”, “Code sollte beim ersten Durchlesen zu erfassen sein”, “Zuviel Dokumentation ist wirklich zuviel”, “Die einfachere Lösung ist die bessere”…

Christian Kumpe

Christian Kumpe studierte Informatik am Karlsruher Institut für Technologie (KIT) und sammelte bereits während seines Studiums als Freelancer Erfahrung in diversen Java-Projekten. Seit 2011 arbeitet er als Softwareentwickler bei der Netpioneer GmbH in Karlsruhe. Seine aktuellen Themenschwerpunkte sind Java-basierte Portale und Internet-Plattformen. Es ist ihm ein wichtiges Anliegen die Wartbarkeit von Softwaresystemen durch guten Code zu erhalten und zu verbessern.

Markus Kiss

Markus Kiss, M. Sc., hat in Karlsruhe und Mannheim Informatik studiert und arbeitet als Senior Softwareentwickler bei der Netpioneer GmbH in Karlsruhe. Er interessiert sich seit mehreren Jahren für Clean Code und saubere Softwarearchitekturen. Code Smells und Antipatterns bringen ihn zwar immer wieder zum Schmunzeln, doch er findet es spannend, wie man mit einfachen Techniken und Praktiken genau dem entgegenwirken kann.

Location


diva-e Karlsruhe
Ludwig-Erhard-Allee 20
76131 Karlsruhe

Eine Veranstaltung des iJUG e.V., organisiert durch die JUG Karlsruhe.
Supported by

Powered by Jekyll & Git - Revision 289b1c1