CamelCase

Die Bezeichner für Methoden / Funktionen, Variable und Konstante werden in Scala in der sogenannten CamelCase1 Schreibweise notiert. Bei der CamelCase Schreibweise werden mehrere Wörter zu einem zusammenhängenden Bezeichner, ohne Leerzeichen, zusammengefasst. Am Anfang wird, je nach Bezeichnertyp, ein Groß- oder ein Kleinbuchstabe verwendet. Für den Beginn jedes weiteren Wortes wird dann ein Großbuchstabe verwendet. Ein Beispiel für einen Bezeichner in CamelCase Schreibweise ist: ichBinEinBezeichnerInCameCaseSchreibweise.

Die CamelCase Schreibweise kann auch bei einzelnen (längeren) Worten angewendet werden, indem man die einzelnen Silben des Wortes durch einen Großbuchstaben hervorhebt.

Im Bereich der Programmierung ist das Ziel der Anwendung der CamelCase Schreibweise eine erhöhte Lesbarkeit des Quelltextes.

Für die Bezeichner von Methoden / Funktionen und Variablen gilt in Scala die gleiche Konvention wie in Java. Die Bezeichner werden in CamelCase Schreibweise mit einem Kleinbuchstaben am Anfang notiert. Bei Konstanten wird in Scala eine andere Schreibweise als in Java verwendet. In Scala wird die CamelCase schreibweise angewendet, wobei der erste Buchstabe des Bezeichners ein Großbuchstabe ist2.

object CamelCase {
  val IchBinEineKonstante = 123
  val AllgemeineGasKonstante = 8.3145 // [kJ/(kg K)]
}

class CamelCase(variablenWert: Int){
  def ichBinEineMethode(value : Int) = value * 2
  val ichBinVariabel = variablenWert
  var ichBinAuchVariabel = 123
}
itmapa.de - X2H V 0.11

Methoden ohne Argumente

Die Scala Syntax erlaubt es bei Methoden, die keine Argumente erwarten, die Klammern wegzulassen. Die Konvention in Scala ist, das bei Methoden, die keine Seiteneffekte haben, die Klammern weggelassen werden. Bei Methoden die Seiteneffekte haben werden die Klammern mit angegeben. Die Klammern geben dem Leser des Quelltextes einen Hinweis darauf, dass Seiteneffekte erwartet werden müssen, was insbesondere bei der nebenläufigen Programmierung hilfreich ist.

Bei der Methode println() werden zum Beispiel die Klammern angegeben, da die Methode eine Ausgabe auf der Konsole macht, was ein Seiteneffekt darstellt. Bei einer Methode, die z.B. einen zuvor berechneten Wert zurückgibt, wird die Klammerung weggelassen, da die einfache Rückgabe eines Wertes kein Seiteneffekt darstellt.

Package Namen

Um die Eindeutigkeit von Klassennamen zu gewährleisten, gilt wie in Java, dass der Name eines Packages mit der umgekehrten Adresse einer zugehörigen Webseite beginnen soll. Diese Konvention sollte vor allem dann eingehalten werden, wenn das entsprechende Projekt später (auch im Quelltext) veröffentlicht werden soll. Für kleinere "Heimprojekte" lässt sich diese Regel sicher nicht anwenden. Man sollte jedoch zumindest versuchen den Namen einer freien, passenden Internetadresse zu verwenden.

Als Beispiel eines Package Namens einer Bibliothek, die von scalatutorial.de bereitgestellt werden könnte, kann der Packagename de.scalatutorial.demolibrary gesehen werden. Hier ist auch ersichtlich, dass ein führendes www nicht in den Package Namen aufgenommen wird.

Felder

In Scala werden an eine Instanzvariable gebundene Variablen als Feld (engl. field) bezeichnet.

Vergleiche [Q39] Seite 39


______________________________
1: Siehe auch http://www.uni-protokolle.de/Lexikon/CamelCase.html und http://en.wikipedia.org/wiki/CamelCase Bild: Flagge Grßbritanien

2: In Java werden für Konstanten ausschließlich Großbuchstaben verwendet, wobei einzele Wörter (Silben) durch einen Unterstrich getrennt werden