Java-Konventionen zu den Übungen in P3
Für alle Programmieraufgaben in P3 gilt es einige Konventionen bezüglich der
Struktur und des Aufbaus des Quelltextes zu beachten.
Prinzipiell können zwar in Java Namen von Klassen und Methoden
beliebig geschrieben und der Code nahezu beliebig formatiert werden,
aber - oder vielleicht gerade deshalb - gibt es eine Reihe von
Konventionen, an die man sich als Java-Programmierer halten soll.
Fast alle uns bekannten Java-Software-Projekte und auch die Java-Entwickler
von Sun halten sich an diese Konventionen.
Warum Konventionen?
Es gibt eine Reihe von Gründen, sich diese Konventionen anzueignen.
Die wohl wichtigsten sind:
- die Konventionen machen den Code gut lesbar,
- der Quelltext wird für andere leichter verständlich (also auch die Übungsgruppenleiter!),
- als Folge werden Wartung und Wiederverwendung einfacher,
- dies ist wichtig, da ca. 80% der Zeit und Kosten in die Wartung von Software fließen, und last but not least,
- für nicht konformen Code gibt es Punktabzug!
Die wichtigsten Konventionen
Groß- und Kleinschreibung
Generell unterscheidet Java zwischen Groß- und Kleinschreibung:
- im Sourcecode (bei Befehlen und Variablen),
- bei Klassennamen und
- bei der Verwendung des Java Development Kits (JDK).
Klassen- und Interface-Namen werden groß geschrieben, also z.B.
class TestKlasse.
Dabei gilt, dass jeder Buchstabe innerer Wörter wieder groß geschrieben wird.
Methoden, Attribute und Variablen werden klein geschrieben, also beispielweise
TestKlasse testKlasse = new TestKlasse(); oder
int i = 0; oder
setVorname("Frithjof");.
Konstanten werden komplett groß geschrieben, z.B.
final static JAHRHUNDERT = 21;.
Wörter werden dabei per Unterstrich getrennt:
final static MAX_STUDENTEN=255;
Tipp:
- Die Schreibweise von Klassen führt manchmal zu Problemen.
Ist der Name einer Klasse z.B.
HalloWelt.java und möchte man diese
Klasse kompilieren oder starten, so ist auch hier die Schreibweise zu
beachten (auch unter Windows!), d.h. es wird
kompiliert mit:
javac HalloWelt.java
aber:
javac hallowelt.java oder
javac HALLOWELT.JAVA funktionieren nicht!
Namenskonventionen
Für die Wahl der Bezeichner von Klassen, Methoden und Variablen gelten in Java
des weiteren einige Namenskonventionen:
- Es sollen möglichst sprechende aber knappe Bezeichner verwendet werden,
- Abkürzungen sind zu vermeiden,
- Klassennamen sollen Substantive sein,
- Methodennamen sollen Verben sein,
- Namen von Variablen etc. soll man nicht mit $ oder _ beginnen lassen.
Zum letzten Punkt ist anzumerken, dass mache Entwickler für Attribute den Unterstrich vor den Bezeichner setzen, also z.B.
public String _name;.
Hiervon wird auch in der aktuellen Code-Konvention
abgeraten, da es zu Problemen mit dem Compiler kommen
kann,
da er derartige Namen auch intern verwendet.
Da diese Schreibweise aber z.B. bei C++ üblich ist und Ihnen in P2 (bei SWT) angeraten wird,
steht es Ihnen für P3 frei, auch hier so zu verfahren.
Allerdings muss beachtet werden,
dass dann ein Team
konsistent diese Schreibweise für alle Attribute wählen muss.
Einrückung und Abstände
Für die Einrückung des Codes gibt es ebenfalls Konventionen.
Generell gilt:
Blöcke sind einzurücken. Dabei werden 4 Leerzeichen oder ein
Tabulator (definiert als 4 Leerzeichen) verwendet.
Beispiel:
if ((i > 0 && j > 0) // Lücken vor und hinter Operatoren und Variablen
&& i < 10) { // Fortsetzung der Vorzeile mit tiefer Einrückung
i++; // Ein Befehl pro Zeile, Block eingerückt.
}
// Ende des if-Blockes
Kommentare
Es gibt in Java zwei Möglichkeiten, Kommentare in den Code einzubauen:
/* Kommentar über eine oder mehrere Zeilen */
oder
// Kommentar über eine Zeile
Bitte verwenden Sie die Möglichkeit zur Kommentierung ausgiebig!
Des weiteren gibt es sogenannte
javadoc-Kommentare,
mit denen alle Programme versehen werden müssen.
javadoc ist ein Programm, das aus speziell formatierten
Kommentaren automatisch eine API-Dokumentationen im HTML-Format erstellt.
javadoc-Kommentare müssen für jede Klasse und jede Methode erstellt werden.
Sie sehen folgendermaßen aus und kennen (als wichtigste) folgende Tags:
/**
* Text mit <code>HTML</code>-Tags
* und "Command Tags".
* Hier wird die Klasse oder Methode knapp
* aber präzise in ihrer Funktionsweise beschrieben.
*
* @author Autor der Klasse (Pflicht für Klassen)
* @version Versionsnummer (ebenfalls Pflicht für Klassen)
* @param name ist Pflicht für alle Parameter von Methoden
* @return Ist für alle Methoden mit Rückgabewert anzugeben
* @exception Exception muss angegeben werden, wenn Methoden
* Ausnahmen erzeugen können.
* @see Klasse#methode für Verweise auf anderen Klassen/ Methoden
*/
zurück zur Hauptseite