Freie Universität Berlin · Institut für Informatik
Softwarepraktikum · SoSe 2002
Dozent: Ulrich Kortenkamp
Andrea Wiese und Daria Schymura · 29. April 2002
Coding Standards
(Dies ist im wesentlichen eine Zusammenfassung der Java Code Conventions,
zu finden unter
http://java.sun.com/docs/codeconv/.)
- pro *.java-Datei genau eine Klasse
Aufbau jeder Datei
-
Anfangskommentar:
/**
* Klassenname
* Beschreibung der Funktionalität der Klasse
*
* @author Autor/Team
*/
-
Package- und Importdeklaration
package de.torfu.team2;
import java.some.thing;
- Klassen- oder Interfacedeklaration
- Kommentar zur Implementation der Klasse oder des Interfaces (/* ... */)
- Class (static) Variablen (public, protected, ohne Modifier, private)
- Instanzvariablen (gleiche Reihenfolge)
- Konstruktoren
- Methoden (gegliedert nach Funktionalität)
Formatierung des Codes
- nicht mehr als 80 Zeichen pro Zeile
- Standardeinrücken: 4 Leerzeichen
- Setzen von geschweiften Klammern am Beispiel:
void mymethod() {
int int1 = 0;
dosomething();
if (condition) {
statements;
} elseif (condition) {
statements;
} else {
statements;
}
}
- längere Kommentare als Blockkommentare
/*
* Das ist ein Blockkommentar.
*/
- Einzeilenkommentare /* ... */ oder // ...
- Code auskommentieren mit mehrzeiligem // ...
- ein Statement pro Zeile:
a++; //OK
b++; //OK
a++; b++; //so nicht!
- Nur eine Variable pro Zeile deklarieren!
- Variablendeklarationen an den Anfang eines Blocks.
- Variablen dort initialisieren, wo sie deklariert werden.
- Leerzeichen:
- nach Kommata und Semikolons
- nach Schlüsselwörtern
- nach Casts
- vor und nach binären Operatoren
a + b = c;
- NICHT bei unären Operatoren und dem Punktoperator
a++;
obj.method();
- NICHT zwischen Methodenname und Klammern
- Leerzeilen:
- zwischen Methoden
- In Methoden zwischen lokalen Variablen und dem ersten Befehl
- vor jedem Block- und Einzeilenkommentar
- zwischen logischen Einheiten in einer Methode (für bessere Lesbarkeit)
Benennung
- Keine einbuchstabigen Klassen- oder Instanzvariablen
- Überschattung von Variablen vermeiden (keine drei verschiedenen i's
in einer Methode)
- Klassen, Methoden und Variablen möglichst vielsagend benennen.
- Packages: Kleinbuchstaben
- Klassen: Sollten Namen sein, Mit Großbuchstaben anfangen, sonst Kleinbuchstaben,
keine Abkürzungen, bei mehreren Wörtern sollte jedes Wort mit
einem Großbuchstaben anfangen
class ImageSprite
- Interfaces: wie Klassen
- Methoden: Sollten Verben sein, erster Buchstabe klein, sonst wie Klassen
run(); runFast();
- Variablen: wie Methoden, so kurz wie möglich
- Konstanten: Großbuchstaben, getrennt durch "_"
static final int MIN_WIDTH = 4;