Web-Programmierung: Style Guide

aus GlossarWiki, der Glossar-Datenbank der Fachhochschule Augsburg

Dieser Artikel erfüllt die GlossarWiki-Qualitätsanforderungen:

Korrektheit: 4
(großteils überprüft)
Umfang: 4
(unwichtige Fakten fehlen)
Quellenangaben: 5
(vollständig vorhanden)
Quellenarten: 5
(ausgezeichnet)
Konformität: 5
(ausgezeichnet)

Namenskonventionen

Bezeichner setzen sich stets aus ASCII-Buchstaben, Ziffern sowie dem Underscore (_) zusammen.

Groß- uns Kleinschreibung

Paket-Bezeichner
[a-z]+ evtl. [a-z][a-z0-9]*: nur Kleinbuchstaben (Ziffern in Ausnahmefällen)
z.B. wk, model
Klassennamen und Projektnamen
[A-Z][A-Za-z0-9]*: Ein Großbuchstabe gefolgt von beliebigen Buchstaben und Ziffern (CamelCase)
z.B. Math, ModelBoard
öffentliche Konstanten (Public, Internal, Protected Constants)
[A-Z][A-Z0-9_]*: Ein Großbuchstabe gefolgt von Großbuchstaben, Ziffern und Underscore-Zeichen
z.B. NUMBER_OF_LEVELS, LEVEL1
öffentliche Attribute und öffentliche Methoden (Public, Internal, Protected Members)
[a-z][A-Za-z0-9]*: Ein Kleinbuchstabe gefolgt von beliebigen Buchstaben und Ziffern
z.B. event, user1, allUsers, maxSum
JavaScript, Flash und Flex
öffentlich zugängliche Objekte: DisplayObject (Sprite, MovieClip, Flex-Komponenten etc.)
[d][A-Z][A-Za-z0-9]*: d gefolgt von einem Großbuchstaben gefolgt von beliebigen Buchstaben und Ziffern
z.B. dButtonStart, dButterfly
Flash
öffentlich zugängliche Frame-Labels
[lb][A-Z][A-Za-z0-9]*: lb gefolgt von einem Großbuchstaben gefolgt von beliebigen Buchstaben und Ziffern
z.B. lbStart, lbEnd
Parameter sowie private Zustandsvariablen, Konstanten und Methoden (Private Members) sowie DisplayObjects und Labels, die nicht öffentlich zugänglich sein sollten (es aber trotzdem sind)
[a-z]{1,2}_[a-z0-9_]*: Ein bis zwei Kleinbuchstaben gefolgt von einem Undercore gefolgt von Kleinbuchstaben, Ziffern und Underscore-Zeichen
z.B. p_event, v_user1, sv_all_users, m_max_sum, d_butterfly, lb_start

Kürzel zur Typisierung von Bezeichnern

Klassennamen in Libraries
[A-Z]{1,3}[1m]?([iaces]|es)([A-Z][A-Za-z0-9]*)?
Klassenbezeichner in Libraries setzten sich aus einem Kürzel des Namens der Biliothek (maximal drei Großbuchstaben), einer Beschreibung des Bezeichnertyps sowie dem eigentlichen Bezeichner zusammen.
Die „Beschreibung des Bezeichnertyps“ besteht aus einem oder zwei Buchstaben:
i: Interface
a: abstrakte Klasse
c: (normale) Klasse
e: Enumeration-Klasse
s: Signal-Klasse
es: Enumeration-Klasse mit Signal-Konstanten
Singleton- oder Multiton-Klassen werden mit einen zusätzlichen Buchstaben gekennzeichnet:
1: Singleton-Klasse oder -Interface
m: Multiton-Klasse oder -Interface
 
Der eigentliche Bezeichner besteht aus ein oder mehreren Bestandteilen, die jeweils mit einem Großbuchstaben beginnen.
Spätere Namensbestandteile beschreiben speziellere Aspekte der Klasse.
Beispiele; WKcMain, OASa1Models, WKesModels, WKcModelBoard
Bei WKcModelBoard handelt es sich beispielsweise um eine Klasse (c) in der WK-Library. Sie bescheibt ein Model und zwar ein Model eines Spielbretts (Board). Man muss also ModelBoard als „Spielbrett-Model“, d.h. „Model eines Spielbretts“, und nicht als „Model-Spielbrett“ interpretieren.
Parameter sowie private Zustandsvariablen und private Methoden (Private Members)
(s?(p|v|l|m|o)|c|d|lb)_[a-z][a-z0-9_]*
Folgende Arten von Private-Member-Bezeichnenrn gibt es:
s: Static Member
 
p: Parameter
v: Zustandsvariable
l: lokale Variable
g: globale Variable (sollte möglichst vermieden werden)
m: Methode
o: Observer (Event-Listener-Methode)
 
c: Konstante (unabhängig davon, ob als private const oder private static const definiert)
d: DisplayObject: ein grafisches Objekt auf einer JavaScript-Bühne, der Flash-Bühne (das als private angesehen werden soll, obwohl es public sein muss) oder in einer Flex-Komponente
lb: Frame-Label in einem Flash-MovieClip der als private angesehen werden soll (obwohl er public ist)

Darüber hinaus werden die Variablen i, j und k als Integer-Laufvariablen verwendet, auch wenn dies nicht der obigen Namenskonvention entspricht.

Quellen

  1. Kowarschick (WebProg): Wolfgang Kowarschick; Vorlesung „Web-Programmierung“; Hochschule: Hochschule Augsburg; Adresse: Augsburg; Web-Link; 2024; Quellengüte: 3 (Vorlesung)