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

  1. Anfangskommentar:

  2. /**
     * Klassenname
     * Beschreibung der Funktionalität der Klasse
     *
     * @author Autor/Team
     */
     
  3. Package- und Importdeklaration

  4. package    de.torfu.team2;
    import     java.some.thing;
     
  5. Klassen- oder Interfacedeklaration
  6. Kommentar zur Implementation der Klasse oder des Interfaces (/* ... */)
  7. Class (static) Variablen (public, protected, ohne Modifier, private)
  8. Instanzvariablen (gleiche Reihenfolge)
  9. Konstruktoren
  10. 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;





Letzte Änderung vorgenommen am Thursday, 09-May-2002 21:31:21 CEST
Martin Hense: hense@inf.fu-berlin.de