Noch mehr Java gibts auf www.javahochzwei.de

Namenskonventionen in Java

Was sind Namenskonventionen?
Namenskonventionen sind sozusagen Richtlinien, an die sich ein jeder Javaprogrammierer halten sollte, um so den Code lesbarer zu machen.
Man muss sich an diese nicht zwingend halten, doch ist es ein ungeschriebenes Gesetz dies zu tun! Ein Jeder Programmierer, der einen gewissen Anspruch an sich hat, sollte diese einhalten!

Nun aber zu den Konventionen.

Klassennamen
Interface-Namen
Methodennamen
Namen von Instanzvariablen, bzw. statischen Variablen
Namen von lokalen Variablen, bzw. Parametern
Namen von Kostanten
Package-Namen
Namen generischer Typparameter
Namen von Enumerationen


Klassennamen
Klassennamen sollten Substantive sein, da sie „Dinge“ darstellen. Weiterhin sollten sie im Singular stehen, da später eine jede Instanz dieser Klasse eine Ausprägung darstellt. Der erste Buchstabe des Namens sollte immer groß geschrieben sein!

public class Auto {...}

Interface-Namen
Interface, die eine Fähigkeit bereitstellen, sollten mit „-able“, bzw. „-ible“ enden. Dies rührt aus dem Englischen und wäre mit dem Deutschen „-bar“ zu übersetzen. Stellt es keine Fähigkeit zur Verfügung, so ist ein Substantiv zu verwenden. Die Groß -und Kleinschreibung ist identisch zu der von den Klassennamen!

public interface Serializable {...}

Methodennamen

Methoden sind Java dazu da, um Aktionen auszuführen. Daher beinhalten Methoden typischerweiße ein Verb. Der erste Buchstabe wird klein geschrieben und jedes innere Wort beginnt mit einem Großbuchstaben.

public void getMessage() {...}

public String toString() {...}

Namen von Instanzvariablen, bzw. statischen Variablen

Die Namen von Instanz- und statischen Variablen sollten sich nur aus Substantiven zusammensetzen, da sie ja auch für eine „Sache“ stehen, ähnlich wie wir es bei den Klassennamen gesehen haben. Der erste Buchstabe wird klein geschrieben und jedes innere Wort wird widerrum groß begonnen, ähnlich der Methodennamen!

Einzige Ausnahme stellt wohl die Variable des Typs boolean dar. Sie gehorcht zwar den gleichen Klein -und Großschreibgesetzen, sollte aber kein Substantiv sondern ein Adjektiv sein.

private String vorname;
private int alter;
private String nameVorgesetzer;

private boolean entscheidbar;

Namen von lokalen Variablen, bzw. Parametern

Was die Namen von Methodenparametern betrifft, gelten eigentlich die gleichen Konventionen wie der der Instanzvariablen, bzw. statischen Variablen. Generell ist hier, als auch oben, darauf zu achten, dass man sich sinnvolle Namen ausdenkt. Muss sich ein fremder Programmierer in einen -für ihn- neuen Code eindenken, wird er Dir eine sinnige Variablenbezeichnung danken. ;)

public void schreibeNamen(String name) {
     String aktuellerName = name;
     System.out.println("Der aktuelle Name lautet" + name);
}

Dann gibt es weiterhin noch ein paar Besonderheiten. Hier würde ich allerdings nicht von Konventionen sprechen, sondern eher von Gewohnheiten. Als kurzes Beispiel sei genannt, dass man typischerweise die Zählvariable einer for-Schleife schlicht und einfach „i“ nennt.

for (int i = 0; i < 10; i++) {
	System.out.println("i= " + i);
}

Namen von Kostanten
Konstanten werden in Java auschließlich groß geschrieben. Da hier eine visuelle Trennung einzelner Wörter durch Großbuchstaben nicht mehr klappt, benutzt man hier Unterstriche.

public static final String INTERNET_ADRESSE = "http://www.prog-blog.de";

Package-Namen
Package-Namen müssen eindeutig sein und bestehen nur aus Kleinbuchstaben. Auch hier benutzt man zur Trennung mehrerer Wörter Unterstriche.

package auto_herrsteller

Packages, die man der Öffentlichkeit zur Verfügung stellen möchte, stellen einen umgekehrten Domainnamen dar. Sie beginnen mit der Top-Level-Domain (de, com, org etc.), gefolgt von einem Punkt.

package de.auto_hersteller
// oder
package com.auto_producer

Namen generischer Typparamerter
Hier verwendet man typischerweise den Buchstaben T für Typ, bzw. K und V für Key (Schlüssel) und Value (Wert).

public class GenerischeKlasse<T> {...}
// oder
public Map<K,V> generischeMap = ...

Namen von Enumerationen
Konventionen für Enumerationsnamen entsprechen derer von Klassennamen! Für die Objekte einer Enumeration benutzt man ausschließlich Großbuchstaben.

enum Himmelsrichtung {NORD, OST, SUED, WEST}

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.