Web-Programmierung: Style Guide: Unterschied zwischen den Versionen
aus GlossarWiki, der Glossar-Datenbank der Fachhochschule Augsburg
Kowa (Diskussion | Beiträge) |
Kowa (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
(27 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
== | {{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. | ||
Zeile 9: | Zeile 16: | ||
: z.B. <code>wk</code>, <code>model</code> | : z.B. <code>wk</code>, <code>model</code> | ||
; | ; Klassennamen und Projektnamen | ||
: <code>[A-Z | : <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> | ||
; Parameter sowie private Zustandsvariablen, Konstanten und Methoden (Private Members) | ; 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 | : <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> | : 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 === | === Kürzel zur Typisierung von Bezeichnern === | ||
; | ;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 | : 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>i</code>: [[Interface]] | ||
:: <code>a</code>: [[abstrakte Klasse]] | :: <code>a</code>: [[abstrakte Klasse]] | ||
Zeile 40: | 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 | |||
:: | |||
: 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. | ||
: | :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 | : 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>s?(p|v|c| | : <code>(s?(p|v|l|m|o)|c|d|lb)_[a-z][a-z0-9_]*</code> | ||
: Folgende Arten von Private-Member-Bezeichnenrn gibt es: | : Folgende Arten von Private-Member-Bezeichnenrn gibt es: | ||
:: <code>s</code>: [[Static Member]] | :: <code>s</code>: [[Static Member]] | ||
Zeile 52: | Zeile 68: | ||
:: <code>p</code>: [[Parameter]] | :: <code>p</code>: [[Parameter]] | ||
:: <code>v</code>: [[Zustandsvariable]] | :: <code>v</code>: [[Zustandsvariable]] | ||
:: <code>l</code>: [[lokale Variable]] | :: <code>l</code>: [[lokale Variable]] | ||
:: <code>o</code>: [[Observer]] (Event-Listener) | :: <code>g</code>: [[globale Variable]] (sollte möglichst vermieden werden) | ||
:: <code>m</code>: [[Methode]] | |||
:: <code>o</code>: [[Observer]] (Event-Listener-Methode) | |||
:: | |||
:: <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) | |||
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. | |||
==Quellen== | ==Quellen== | ||
<noinclude> | <noinclude> | ||
# {{Quelle|Kowarschick, W.: Web-Programmierung}}</noinclude><noinclude>[[Kategorie:Kapitel:Multimedia-Programmierung:Beispiele]] | |||
</noinclude> |
Aktuelle Version vom 18. März 2021, 15: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
DisplayObject
s 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
: Interfacea
: abstrakte Klassec
: (normale) Klassee
: Enumeration-Klasses
: Signal-Klassees
: Enumeration-Klasse mit Signal-Konstanten
- Singleton- oder Multiton-Klassen werden mit einen zusätzlichen Buchstaben gekennzeichnet:
1
: Singleton-Klasse oder -Interfacem
: 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 derWK
-Library. Sie bescheibt ein Model und zwar ein Model eines Spielbretts (Board
). Man muss alsoModelBoard
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 Memberp
: Parameterv
: Zustandsvariablel
: lokale Variableg
: globale Variable (sollte möglichst vermieden werden)m
: Methodeo
: Observer (Event-Listener-Methode)c
: Konstante (unabhängig davon, ob alsprivate const
oderprivate static const
definiert)d
: DisplayObject: ein grafisches Objekt auf einer JavaScript-Bühne, der Flash-Bühne (das alsprivate
angesehen werden soll, obwohl espublic
sein muss) oder in einer Flex-Komponentelb
: Frame-Label in einem Flash-MovieClip
der alsprivate
angesehen werden soll (obwohl erpublic
ist)
Darüber hinaus werden die Variablen i
, j
und k
als Integer-Laufvariablen verwendet, auch wenn dies nicht der obigen Namenskonvention entspricht.
Quellen
- Kowarschick (WebProg): Wolfgang Kowarschick; Vorlesung „Web-Programmierung“; Hochschule: Hochschule Augsburg; Adresse: Augsburg; Web-Link; 2024; Quellengüte: 3 (Vorlesung)