Code-Konventionen: Unterschied zwischen den Versionen
Aus TV-Browser Wiki
Version vom 13. Februar 2005, 15:33 Uhr ⧼parentheses⧽ Til⧼word-separator⧽⧼parentheses⧽ K ⧼parentheses⧽ |
Version vom 13. Februar 2005, 15:35 Uhr ⧼parentheses⧽ Til⧼word-separator⧽⧼parentheses⧽ ⧼parentheses⧽ |
||
Zeile 11: | Zeile 11: | ||
* '''Generell''' sollen Bezeichner auf Englisch benannt werden. | * '''Generell''' sollen Bezeichner auf Englisch benannt werden. | ||
* '''Klassennamen''' beginnen mit Großbuchstaben und gehen dann mit gemischter Groß-/Kleinschreibung weiter. Beispiel: <code>ProgramFieldType</code>. | * '''Klassennamen''' beginnen mit Großbuchstaben und gehen dann mit gemischter Groß-/Kleinschreibung weiter. Beispiel: <code>ProgramFieldType</code>. | ||
− | * '''Paket-Namen''' bestehen nur aus Kleinbuchstaben. Beispiel: <code>util.ui.progress</code>. TV-Browser verletzt aus historischen Gründen die Konvention, dass Paket-Namen mit der umgekehrten URL der Organisation beginnen (Z.B. <code>tvbrowser.core</code> anstatt <code>net.sf.tvbrowser.core</code>). Plugins können sich selbstverständlich an diese Konvention halten. | + | * '''Paket-Namen''' bestehen nur aus Kleinbuchstaben. Beispiel: <code>util.ui.progress</code>.<br>''Hinweis:'' TV-Browser verletzt aus historischen Gründen die Konvention, dass Paket-Namen mit der umgekehrten URL der Organisation beginnen (Z.B. <code>tvbrowser.core</code> anstatt <code>net.sf.tvbrowser.core</code>). Plugins können sich selbstverständlich an diese Konvention halten. |
* '''Variablen- oder Methodennamen''' fangen mit einem Kleinbuchstaben an und gehen dann mit gemischter Groß-/Kleinschreibung weiter. Beispiel: <code>handleTvDataAdded</code>. Bei TV-Browser beginnen ''Klassenvariablen'' (member variables) zur besseren Unterscheidung von lokalen Variablen mit einem <code>m</code>. Beispiel: <code>mMarkIcon</code>. | * '''Variablen- oder Methodennamen''' fangen mit einem Kleinbuchstaben an und gehen dann mit gemischter Groß-/Kleinschreibung weiter. Beispiel: <code>handleTvDataAdded</code>. Bei TV-Browser beginnen ''Klassenvariablen'' (member variables) zur besseren Unterscheidung von lokalen Variablen mit einem <code>m</code>. Beispiel: <code>mMarkIcon</code>. | ||
* '''Konstanten''' (also Variablen, die <code>static final</code> sind) bestehen nur aus Großbuchstaben und Unterstrichen. Beispiel: <code>TEXT_FORMAT</code>. | * '''Konstanten''' (also Variablen, die <code>static final</code> sind) bestehen nur aus Großbuchstaben und Unterstrichen. Beispiel: <code>TEXT_FORMAT</code>. | ||
Zeile 19: | Zeile 19: | ||
Folgende Regeln gelten für die Formatierung des Quellcodes: | Folgende Regeln gelten für die Formatierung des Quellcodes: | ||
− | * Generell sollten '''keine Tabstopps''' verwendet werden. Viele Leute verwenden unterschiedliche Tab-Weiten, so dass Tabstopps sehr schnell dazu führen, dass Einrückungen völlig zerrupft werden. Hinweis: In Eclipse kann man einstellen, dass statt Tabstopps Leerzeichen gesetzt werden (Unter Window->Preferences->Java->Code Style->Code Formatter->Edit->Use tab character) | + | * Generell sollten '''keine Tabstopps''' verwendet werden. Viele Leute verwenden unterschiedliche Tab-Weiten, so dass Tabstopps sehr schnell dazu führen, dass Einrückungen völlig zerrupft werden.<br>''Hinweis:'' In Eclipse kann man einstellen, dass statt Tabstopps Leerzeichen gesetzt werden (Unter Window->Preferences->Java->Code Style->Code Formatter->Edit->Use tab character) |
* Eingerückt wird mit zwei Leerzeichen. | * Eingerückt wird mit zwei Leerzeichen. | ||
Zeile 26: | Zeile 26: | ||
* Alle Kommentare sollen in Englisch verfasst werden. | * Alle Kommentare sollen in Englisch verfasst werden. | ||
− | * Alle <code>public</code> Methoden, Konstruktoren oder Klassen bekommen einen Javadoc-Kommentar mit <code>@param</code>- und <code>@return</code>-Tags.<br>Hinweis: In Eclipse kann man einstellen, dass Warnungen gezeigt werden, wenn bestimmte Methoden nicht dokumentiert sind (Unter Window->Preferences->Java->Compiler->Javadoc).<br>Hinweis: Für alten Code, der sich noch nicht an diese Regel gehalten hat gilt: Der Kommentar soll hinzugefügt bzw. vervollständigt werden, wenn die entsprechende Stelle geändert wird. | + | * Alle <code>public</code> Methoden, Konstruktoren oder Klassen bekommen einen Javadoc-Kommentar mit <code>@param</code>- und <code>@return</code>-Tags.<br>''Hinweis:'' In Eclipse kann man einstellen, dass Warnungen gezeigt werden, wenn bestimmte Methoden nicht dokumentiert sind (Unter Window->Preferences->Java->Compiler->Javadoc).<br>''Hinweis:'' Für alten Code, der sich noch nicht an diese Regel gehalten hat gilt: Der Kommentar soll hinzugefügt bzw. vervollständigt werden, wenn die entsprechende Stelle geändert wird. |
==Architektur== | ==Architektur== |
Version vom 13. Februar 2005, 15:35 Uhr
Die folgenden Regeln sollten eingehalten werden, wenn jemand Quellcode für TV-Browser schreiben will.
Sie helfen dabei, den Quellcode einheitlicher und besser lesbar zu machen und ihn besser zu dokumentieren.
TV-Browser hält sich an die Java-Code-Konventionen. Die wichtigsten Regel daraus und Besonderheiten oder Abweichungen sollen im folgenden vorgestellt werden.
Inhaltsverzeichnis
Bezeichner
Bezeichner sollten nach folgenden Regeln benannt werden:
- Generell sollen Bezeichner auf Englisch benannt werden.
- Klassennamen beginnen mit Großbuchstaben und gehen dann mit gemischter Groß-/Kleinschreibung weiter. Beispiel:
ProgramFieldType
. - Paket-Namen bestehen nur aus Kleinbuchstaben. Beispiel:
util.ui.progress
.
Hinweis: TV-Browser verletzt aus historischen Gründen die Konvention, dass Paket-Namen mit der umgekehrten URL der Organisation beginnen (Z.B.tvbrowser.core
anstattnet.sf.tvbrowser.core
). Plugins können sich selbstverständlich an diese Konvention halten. - Variablen- oder Methodennamen fangen mit einem Kleinbuchstaben an und gehen dann mit gemischter Groß-/Kleinschreibung weiter. Beispiel:
handleTvDataAdded
. Bei TV-Browser beginnen Klassenvariablen (member variables) zur besseren Unterscheidung von lokalen Variablen mit einemm
. Beispiel:mMarkIcon
. - Konstanten (also Variablen, die
static final
sind) bestehen nur aus Großbuchstaben und Unterstrichen. Beispiel:TEXT_FORMAT
.
Code-Formatierung
Folgende Regeln gelten für die Formatierung des Quellcodes:
- Generell sollten keine Tabstopps verwendet werden. Viele Leute verwenden unterschiedliche Tab-Weiten, so dass Tabstopps sehr schnell dazu führen, dass Einrückungen völlig zerrupft werden.
Hinweis: In Eclipse kann man einstellen, dass statt Tabstopps Leerzeichen gesetzt werden (Unter Window->Preferences->Java->Code Style->Code Formatter->Edit->Use tab character) - Eingerückt wird mit zwei Leerzeichen.
Kommentare
- Alle Kommentare sollen in Englisch verfasst werden.
- Alle
public
Methoden, Konstruktoren oder Klassen bekommen einen Javadoc-Kommentar mit@param
- und@return
-Tags.
Hinweis: In Eclipse kann man einstellen, dass Warnungen gezeigt werden, wenn bestimmte Methoden nicht dokumentiert sind (Unter Window->Preferences->Java->Compiler->Javadoc).
Hinweis: Für alten Code, der sich noch nicht an diese Regel gehalten hat gilt: Der Kommentar soll hinzugefügt bzw. vervollständigt werden, wenn die entsprechende Stelle geändert wird.
Architektur
- Außer Konstanten sollten keine Variablen
public
sein. Statt dessen sollte eine Getter-Methode geschrieben werden. - Plugins sollen keine Abhängigkeiten (Imports) in das
tvbrowser
-Paket haben. - Es sollte generell keine Abhängigkeiten (Imports) zu konkreten Plugins geben. (Abhängigkeiten zum Paket
devplugin
sind natürlich erlaubt). Davon ausgenommen sind natürlich die eigenen Klassen eines Plugins.