Web-Programmierung: Style Guide: Unterschied zwischen den Versionen

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


Bezeichner setzen sich stets aus [[ASCII]]-Buchstaben, Ziffern sowie dem Underscore (<code>_</code>) zusammen.
Bezeichner setzen sich stets aus [[ASCII]]-Buchstaben, Ziffern sowie dem Underscore (<code>_</code>) zusammen.


=== Groß- uns Kleinschreibung ==
=== Groß- uns Kleinschreibung ===


;Paket-Bezeichner
; Paket-Bezeichner
: <code>[a-z]+</code> evtl. <code>[a-z][a-z0-9]*</code>: nur Kleinbuchstaben (Ziffern in Ausnahmefälle)
: <code>[a-z]+</code> evtl. <code>[a-z][a-z0-9]*</code>: nur Kleinbuchstaben (Ziffern in Ausnahmefällen)
: z.B. <code>wk</code>, <code>model</code>


;Konstanten
; Klassennamen und Projektnamen
: <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>
 
; öffentliche Konstanten (Public, Internal, Protected Constants)
: <code>[A-Z][A-Z0-9_]*</code>: Ein Großbuchstabe gefolgt von Großbuchstaben, Ziffern und Underscore-Zeichen
: <code>[A-Z][A-Z0-9_]*</code>: Ein Großbuchstabe gefolgt von Großbuchstaben, Ziffern und Underscore-Zeichen
: z.B. <code>NUMBER_OF_LEVELS</code>, <code>LEVEL1</code>
; öffentliche Attribute und öffentliche Methoden (Public, Internal, Protected Members)
: <code>[a-z][A-Za-z0-9]*</code>: Ein Kleinbuchstabe gefolgt von beliebigen Buchstaben und Ziffern
: z.B. <code>event</code>, <code>user1</code>, <code>allUsers</code>, <code>maxSum</code>
; 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
: z.B. <code>dButtonStart</code>, <code>dButterfly</code>
; Flash: öffentlich zugängliche Frame-Labels
: <code>[lb][A-Z][A-Za-z0-9]*</code>: <code>lb</code> gefolgt von einem Großbuchstaben gefolgt von beliebigen Buchstaben und Ziffern
: z.B. <code>lbStart</code>, <code>lbEnd</code>
; Parameter sowie private Zustandsvariablen, Konstanten und Methoden (Private Members) sowie <code>DisplayObject</code>s und Labels, die nicht öffentlich zugänglich sein sollten (es aber trotzdem sind)
: <code>[a-z]{1,2}_[a-z0-9_]*</code>: Ein bis zwei Kleinbuchstaben gefolgt von einem Undercore gefolgt von Kleinbuchstaben, Ziffern und Underscore-Zeichen
: z.B. <code>p_event</code>, <code>v_user1</code>, <code>sv_all_users</code>, <code>m_max_sum</code>, <code>d_butterfly</code>, <code>lb_start</code>
=== Kürzel zur Typisierung von Bezeichnern ===


;Klassen-Namen
;Klassennamen in Libraries
: <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]{1,3}[1m]?([iaces]|es)([A-Z][A-Za-z0-9]*)?</code>
: 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:
:: <code>i</code>: [[Interface]]
:: <code>a</code>: [[abstrakte Klasse]]
:: <code>c</code>: (normale) [[Klasse]]
:: <code>e</code>: [[Enumeration]]-Klasse
:: <code>s</code>: [[Signal]]-Klasse
:: <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.
: Spätere Namensbestandteile beschreiben speziellere Aspekte der Klasse.
: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.


;Parameter sowie private Zustandsvariablen und private Methoden (Private Members)
;Parameter sowie private Zustandsvariablen und private Methoden (Private Members)
: <code>[a-z]_[a-z0-9_]*<code>: Ein Kleinbuchstabe gefolgt von einem Undercore gefolgt von Kleinbuchstaben, Ziffern und Underscore-Zeichen
: <code>(s?(p|v|l|m|o)|c|d|lb)_[a-z][a-z0-9_]*</code>
: Folgende Arten von Private-Member-Bezeichnenrn gibt es:
:: <code>s</code>: [[Static Member]]
:: &nbsp;
:: <code>p</code>: [[Parameter]]
:: <code>v</code>: [[Zustandsvariable]]
:: <code>l</code>: [[lokale Variable]]
:: <code>g</code>: [[globale Variable]] (sollte möglichst vermieden werden)
:: <code>m</code>: [[Methode]]
:: <code>o</code>: [[Observer]] (Event-Listener-Methode)
:: &nbsp;
:: <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 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)


;(teil-)öffentliche Attribute und (teil-)öffentliche Methoden (Internal, Protected, Public Members etc.)
Darüber hinaus werden die Variablen <code>i</code>, <code>j</code> und <code>k</code> als Integer-Laufvariablen verwendet, auch wenn dies nicht der obigen Namenskonvention entspricht.
: <code>[a-z][A-Za-z0-9]*<code>: Ein Kleinbuchstabe gefolgt von beliebigen Buchstaben und Ziffern


==Quellen==
==Quellen==
<noinclude>
<noinclude>
* [[Kowarschick, W.: Multimedia-Programmierung]]</noinclude><noinclude>[[Kategorie:Kapitel:Multimedia-Programmierung]][[Kategorie:Multimedia-Programmierung-HowTo]]</noinclude>
# {{Quelle|Kowarschick, W.: Web-Programmierung}}</noinclude><noinclude>[[Kategorie:Kapitel:Multimedia-Programmierung:Beispiele]]
</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)