Web-Programmierung: Style Guide: Unterschied zwischen den Versionen

aus GlossarWiki, der Glossar-Datenbank der Fachhochschule Augsburg
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
(12 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
{{Qualität
|correctness        = 4
|extent              = 4
|numberOfReferences  = 5
|qualityOfReferences = 5
|conformance        = 5
}}
==Namenskonventionen==
==Namenskonventionen==


Zeile 9: Zeile 16:
: z.B. <code>wk</code>, <code>model</code>
: z.B. <code>wk</code>, <code>model</code>


; Klassen-Namen
; Klassennamen und Projektnamen
: <code>[A-Z][A-Z0-9]*[a-z][A-Za-z0-9]*</code>: Ein Großbuchstabe gefolgt von beliebigen Buchstaben und Ziffern, mindestens ein Kleinbuchstabe
: <code>[A-Z][A-Za-z0-9]*</code>: Ein Großbuchstabe gefolgt von beliebigen Buchstaben und Ziffern ([[CamelCase]])
: z.B. <code>Math</code>, <code>ModelBoard</code>
: z.B. <code>Math</code>, <code>ModelBoard</code>


Zeile 21: Zeile 28:
: z.B. <code>event</code>, <code>user1</code>, <code>allUsers</code>, <code>maxSum</code>
: z.B. <code>event</code>, <code>user1</code>, <code>allUsers</code>, <code>maxSum</code>


; Flash und Flex: öffentlich zugängliche <code>DisplayObject</code>s (<code>Sprite</code>s, <code>MovieClip</code>s, Flex-Komponenten etc.)
; JavaScript, Flash und Flex: öffentlich zugängliche Objekte: <code>DisplayObject</code> (<code>Sprite</code>, <code>MovieClip</code>, Flex-Komponenten etc.)
: <code>[d][A-Z][A-Za-z0-9]*</code>: <code>d</code> gefolgt von einem Großbuchstaben gefolgt von beliebigen Buchstaben und Ziffern
: <code>[d][A-Z][A-Za-z0-9]*</code>: <code>d</code> gefolgt von einem Großbuchstaben gefolgt von beliebigen Buchstaben und Ziffern
: z.B. <code>dButtonStart</code>, <code>dButterfly</code>
: z.B. <code>dButtonStart</code>, <code>dButterfly</code>
Zeile 37: Zeile 44:
;Klassennamen in Libraries
;Klassennamen in Libraries
:<code>[A-Z]{1,3}[1m]?([iaces]|es)([A-Z][A-Za-z0-9]*)?</code>
:<code>[A-Z]{1,3}[1m]?([iaces]|es)([A-Z][A-Za-z0-9]*)?</code>
: Klassenbezeichner in Libraries setzten sich aus einem Kürzel (maximal drei Großbuchstaben), einer Beschreibung des Bezeichnertyps sowie dem eigentlichen Bezeichner zusammen.
: 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.
: Folgende Arten von Klassenbezeichnenr gibt es:
: Die „Beschreibung des Bezeichnertyps“ besteht aus einem oder zwei Buchstaben:
:: <code>1</code>: Singleton-Klasse oder -Interface
:: <code>m</code>: Multiton-Klasse oder -Interface
:: &nbsp;
:: <code>i</code>: [[Interface]]
:: <code>i</code>: [[Interface]]
:: <code>a</code>: [[abstrakte Klasse]]
:: <code>a</code>: [[abstrakte Klasse]]
Zeile 48: Zeile 52:
:: <code>s</code>: [[Signal]]-Klasse
:: <code>s</code>: [[Signal]]-Klasse
:: <code>es</code>: Enumeration-Klasse mit Signal-Konstanten
:: <code>es</code>: Enumeration-Klasse mit Signal-Konstanten
: Singleton- oder Multiton-Klassen werden mit einen zusätzlichen Buchstaben gekennzeichnet:
:: <code>1</code>: Singleton-Klasse oder -Interface
:: <code>m</code>: Multiton-Klasse oder -Interface
:: &nbsp;
: Der eigentliche Bezeichner besteht aus ein oder mehreren Bestandteilen, die jeweils mit einem Großbuchstaben beginnen.
: Der eigentliche Bezeichner besteht aus ein oder mehreren Bestandteilen, die jeweils mit einem Großbuchstaben beginnen.
: Spätere Namensbestandteile beschreiben speziellere Aspekte der Klasse.
: Spätere Namensbestandteile beschreiben speziellere Aspekte der Klasse.
:z.B. <code>WKcMain</code>, <code>OAS1aModels</code>, <code>WKesModels</code>,  <code>WKcModelBoard</code>
:Beispiele; <code>WKcMain</code>, <code>OASa1Models</code>, <code>WKesModels</code>,  <code>WKcModelBoard</code>
: Bei <code>WKcModelBoard</code> handelt es sich beispielsweise um eine Klasse (<code>c</code>) in der <code>WK</code>-Library. Sie bescheibt ein [[Model-View-Controller-Paradigma/Model|Model]] und zwar ein Model eines Spielbretts (<code>Board</code>). Man muss also <code>ModelBoard</code> als „Spielbrett-Model“, d.h. „Model eines Spielbretts“, und nicht als „Model-Spielbrett“ interpretieren.
: Bei <code>WKcModelBoard</code> handelt es sich beispielsweise um eine Klasse (<code>c</code>) in der <code>WK</code>-Library. Sie bescheibt ein [[Model-View-Controller-Paradigma/Model|Model]] und zwar ein Model eines Spielbretts (<code>Board</code>). Man muss also <code>ModelBoard</code> als „Spielbrett-Model“, d.h. „Model eines Spielbretts“, und nicht als „Model-Spielbrett“ interpretieren.


Zeile 61: Zeile 69:
:: <code>v</code>: [[Zustandsvariable]]
:: <code>v</code>: [[Zustandsvariable]]
:: <code>l</code>: [[lokale Variable]]
:: <code>l</code>: [[lokale Variable]]
:: <code>g</code>: [[globale Variable]] (sollte möglichst vermieden werden)
:: <code>m</code>: [[Methode]]
:: <code>m</code>: [[Methode]]
:: <code>o</code>: [[Observer]] (Event-Listener-Methode)
:: <code>o</code>: [[Observer]] (Event-Listener-Methode)
:: &nbsp;
:: &nbsp;
:: <code>c</code>: [[Konstante]] (unabhängig davon, ob als <code>private const</code> oder <code>private static const</code> definiert)
:: <code>c</code>: [[Konstante]] (unabhängig davon, ob als <code>private const</code> oder <code>private static const</code> definiert)
:: <code>d</code>: [[DisplayObject]]: ein grafisches Objekt auf der Flash-Bühne (der als <code>private</code> angesehen werden soll, obwohl er <code>public</code> sein muss) oder in einer Flex-Komponente
:: <code>d</code>: [[DisplayObject]]: ein grafisches Objekt auf einer JavaScript-Bühne, der Flash-Bühne (das als <code>private</code> angesehen werden soll, obwohl es <code>public</code> sein muss) oder in einer Flex-Komponente
:: <code>lb</code>: Frame-Label in einem Flash-<code>MovieClip</code> der als <code>private</code> angesehen werden soll (obwohl er <code>public</code> ist)
:: <code>lb</code>: Frame-Label in einem Flash-<code>MovieClip</code> der als <code>private</code> angesehen werden soll (obwohl er <code>public</code> ist)


Zeile 72: Zeile 81:
==Quellen==
==Quellen==
<noinclude>
<noinclude>
* [[Kowarschick, W.: Multimedia-Programmierung]]</noinclude><noinclude>[[Kategorie:Kapitel:Multimedia-Programmierung:Beispiele]]
# {{Quelle|Kowarschick, W.: Web-Programmierung}}</noinclude><noinclude>[[Kategorie:Kapitel:Multimedia-Programmierung:Beispiele]]
{{{{SITENAME}}-konformer Artikel}}
</noinclude>
</noinclude>

Aktuelle Version vom 18. März 2021, 16:09 Uhr

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)