Web-Programmierung: Style Guide: Unterschied zwischen den Versionen
aus GlossarWiki, der Glossar-Datenbank der Fachhochschule Augsburg
Kowa (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Kowa (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
| (14 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> | ||
; | ; 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> | ||
; Flash und Flex: öffentlich zugängliche <code>DisplayObject</code> | ; JavaScript, Flash und Flex: öffentlich zugängliche Objekte: <code>DisplayObject</code> (<code>Sprite</code>, <code>MovieClip</code>, Flex-Komponenten etc.) | ||
: <code>[ | : <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> | : z.B. <code>dButtonStart</code>, <code>dButterfly</code> | ||
; Flash: öffentlich zugängliche Frame-Labels | ; Flash: öffentlich zugängliche Frame-Labels | ||
| Zeile 31: | Zeile 38: | ||
; 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) | ; 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>, <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 === | ||
| 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. | ||
: | : 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 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 | |||
:: | |||
: 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|l|m|o)|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 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) | ||
:: | :: | ||
:: <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> | :: <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> | ||
# {{Quelle|Kowarschick, W.: Web-Programmierung}}</noinclude><noinclude>[[Kategorie:Kapitel:Multimedia-Programmierung:Beispiele]] | |||
</noinclude> | </noinclude> | ||
Aktuelle Version vom 18. März 2021, 14: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]*:dgefolgt 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]*:lbgefolgt 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: 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
WKcModelBoardhandelt es sich beispielsweise um eine Klasse (c) in derWK-Library. Sie bescheibt ein Model und zwar ein Model eines Spielbretts (Board). Man muss alsoModelBoardals „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 constoderprivate static constdefiniert)d: DisplayObject: ein grafisches Objekt auf einer JavaScript-Bühne, der Flash-Bühne (das alsprivateangesehen werden soll, obwohl espublicsein muss) oder in einer Flex-Komponentelb: Frame-Label in einem Flash-MovieClipder alsprivateangesehen werden soll (obwohl erpublicist)
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)
