Code-Konventionen: Unterschied zwischen den Versionen

Aus TV-Browser Wiki
Wechseln zu: Navigation⧼comma-separator⧽Suche
Til⧼word-separator⧽⧼parentheses⧽
K ⧼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.


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 anstatt net.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 einem m. 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.