Begleitmaterial Abitur 2024

Regeln im Umgang mit Quellcode

DRY (Don’t Repeat Yourself)

»Wiederhole dich nicht.« Codeduplizierung sollte vermieden und doppelter Code in Methoden ausgelagert werden. Das heißt auch, dass bestehender Code (aus etwa eigenen Bibliotheken, der Java SE oder quelloffenen Bibliotheken) verwendet werden soll.

KISS (Keep It Simple, Stupid):

»Halte es einfach und idiotensicher«. Ein Problem soll einfach und leicht verständlich gelöst werden. Für Entwickler bedeutet dies: einfacher Code, wenige Zeilen Code, auf den ersten Blick verständlich.

YAGNI (You Ain’t Gonna Need It):

Das Prinzip »Du wirst es nicht brauchen« soll uns daran erinnern, einfachen Code zu schreiben und nur das zu programmieren, was im Moment in der Anforderung auch erwartet wird. YAGNI ist ein zentraler Punkt im Extreme Programming (XP) und der Idee »Implementiere immer die einfachste mögliche Lösung, die funktioniert«, denn wenn etwas programmiert wird, was später nie produktiv wird, ist es Zeit- und Geldverschwendung, aber der Code muss dennoch dokumentiert, gewartet und getestet werden.

Modellierung

Zu jeder Implementation gehört eine Modellierung. Eine Modellierung erfolgt mit Hilfe von UML Klassendiagrammen, Struktogrammen, umgangssprachlichen Algorithmen (UA) und/oder Beschreibungen im Stile von "Beschreibe den Ablauf deines Programmes so, dass eine PErson ohne Programmiererfahrung es anwenden kann."

UML Diagramme

Klassen diagramme könne z.B. analog auf ein Blatt Papier gemalt werden oder mit Hilfe des mermaid Live Editors erstellt und anschließen exportiert oder weiter verwendet werden. Eine vollständige Dokumentation findet ihr hier: https://mermaid.js.org/syntax/classDiagram.html

Grundelemente der UML Darstellung sind Klassen und Beziehungen.

In diesem Beispiel werden die Klassen Ente, Fisch und Zebra in einer Vererbungsstruktur mit der Klasse Tier dargestellt.

Unter mermaid Live Editor findest du den Editor mit eigenen Beispielen.

Struktogramme

umgangssprachlicher Algorithmus (UA)

Dokumentation

Jeder Quelltext wird dokumentiert.

KommentarBeschreibungBeispiel
@paramBeschreibung der Parameter@param x coordinate.
@versionVersion@version 1.12
@authorAutor/Urheber@author Sebastian Horn
@returnRückgabewert einer Methode@return Anzahl der Elemente
@exception/@throwsAusnahmen, die ausgelöst werden können@exception NumberFormatException
@seeVerweis auf ein anderes Paket, einen anderen Typ, eine andere Methode oder Eigenschaft@see java.util.Date @see java.lang.String#length()

Neben den Kommentierungsmöglichkeiten, die oben aufgeführt sind gibt es weitere Möglichkeiten, die für unseren Unterricht aber nicht benötigt werden. Eine Vollständie Übersicht findet ihr im Java Standardwerk "Java ist auch nur eine Insel" das unter folgendem Link erreichbar ist: https://openbook.rheinwerk-verlag.de/javainsel/23_004.html#i23_25