Naming Conventions

Naming Conventions (dt.: Namenskonvetionen) machen Programmcode lesbarer und damit verstÀndlicher. Mit der Einhaltung von Konventionen wird es möglich, verschiedene Komponenten - wie Klassen, Variablen oder Konstanten - auf den ersten Blick zu erkennen und zu unterscheiden.

Packages

Packages werden in lowercase (dt.: Kleinschreibung) bennant. Die Top-Level-Domain einer Organisation dient in der Regel als PrÀfix, gefolgt von der Second-Level-Domain. Weitere Namensbestandteile können durch interne Konventionen festgelegt werden und beschreiben meist eine Aufgliederung in Programme, Abteilungen, Versionen etc. Alle Teile des Namens werden durch Punkte verkettet.

Beispiele:


// top-level-domain.second-level-domain.software.component

package org.mediagenius.audio;

package com.apple.quicktime.v2;

Klassen

Klassen werden möglichst einfach und beschreibend mit Substantiven bennant. Besteht der Name aus mehreren Substantiven, so wird er in CamelCase geschrieben. Jedes Wort wird dabei großgeschrieben. Es werden nur außerdem gebrĂ€uchliche AbkĂŒrzungen verwendet.

Beispiele:


class UpperCamelCase {
    //...
}

class User {
    //...
}

class SpecialUser {
    //...
}

Interfaces

Die Konventionen fĂŒr Interfaces entsprechen jenen fĂŒr Klassen. Teilweise wird alternativ ein ICamelCase verwendet, um eine Abgrenzung zur Klasse deutlich zu machen.

Beispiele:


interface UpperCamelCase {
    //...
}

interface UserDelegate {
    //...
}

interface IUpperCamelCase {
    //...
}

interface IUserDelegate {
    //...
}

Methoden

Methoden werden mit Verben in lowerCamelCase benannt. Der Name beginnt dabei mit einem kleinen Buchstaben. Alle weiteren Bestandteile werden großgeschrieben.

Beispiele:


public void applyConfig(){
    // ...
}

getUserData();

Variablen

Variablen werden in lowerCamelCase benannt. Der Name beginnt dabei mit einem kleinen Buchstaben. Alle weiteren Bestandteile werden großgeschrieben. Obwohl _ und $ am Anfang eines Namens zulĂ€ssig sind, sollte auf die Verwendung verzichtet werden, da solche PrĂ€fixe in Java eher ungebrĂ€uchlich sind. Ebenso sollte von der Verwendung kryptischer Bezeichungen oder Namen aus einem Buchstaben abgesehen werden. Ausnahmen stellen sog. Wegwerfvariablen dar - beispielsweise ZĂ€hl-Variablen in Schleifen.

Beispiele:


int i; // okay als ZĂ€hlvariable

int age; // eindeutig

float myCount; // nicht gut: Was wird hier gezÀhlt?

float moneyCount; // schon besser!

Konstanten

Konstanten werden vollstÀndig UPPERCASE benannt. Einzelne Worte werden durch einen _ getrennt.

Beispiele:


static final String URL = 'https://example.com';

static final int MAX_COUNT = 100;

Allgemein

Code sollte möglichst lesbar und verstĂ€ndlich geschrieben werden. Das erleichtert nicht nur die Entwicklung, sondern auch die spĂ€tere Wartung. Im Idealfall lĂ€sst der Name einer Methode erkennen, was sie tut. Die Bezeichung einer Variablen sollte Aufschluss darĂŒber geben, welchem Zweck sie dient. GrundsĂ€tzlich sollten EntitĂ€ten simpel, jedoch deskriptiv benannt werden. Im Zweifel sollte man vor einem lĂ€ngeren, dafĂŒr aber verstĂ€ndlicheren Namen nicht zurĂŒckschrecken. Das ist besonders in Java der Fall! Die Sprache (und ihre Konventionen) gilt deshalb bei manchen als zu verbose oder sperrig, es wird dadurch aber eine gute Lesbarkeit erreicht.

💬 Das Buch Clean Code beschĂ€ftigt sich ausfĂŒhrlich mit Benennungen und Naming Conventions, sodass es sich als Leseempfehlung an dieser Stelle eignet. 📚


Quellen und weitere Informationen: