modul:archiv:m319:learningunits:lu10:lu10a-bzzcodingstandards

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

modul:archiv:m319:learningunits:lu10:lu10a-bzzcodingstandards [2024/03/28 14:07] – angelegt - Externe Bearbeitung 127.0.0.1modul:archiv:m319:learningunits:lu10:lu10a-bzzcodingstandards [2025/06/23 07:45] (aktuell) – ↷ Links angepasst, weil Seiten im Wiki verschoben wurden msuter
Zeile 10: Zeile 10:
  
  
-|{{:modul:m319:learningunits:lu10:zwingend.png?30|}}|Zwingende Vorschriften| +|{{de:modul:m319:learningunits:lu10:zwingend.png?30|}}|Zwingende Vorschriften| 
-|{{:modul:m319:learningunits:lu10:empfehlung.png?30|}}|Empfehlungen          | +|{{de:modul:m319:learningunits:lu10:empfehlung.png?30|}}|Empfehlungen          | 
-|{{:modul:m319:learningunits:lu10:ausnahem.png?30|}}|Begründete Ausnahmen  |+|{{de:modul:m319:learningunits:lu10:ausnahem.png?30|}}|Begründete Ausnahmen  |
  
 ===== Bezeichner ===== ===== Bezeichner =====
Zeile 22: Zeile 22:
 //Ein sprechender Bezeichner sagt etwas über den Sinn und Zweck einer Komponente aus. Durch den Einsatz von sprechenden Bezeichnern werden viele Kommentare überflüssig.// //Ein sprechender Bezeichner sagt etwas über den Sinn und Zweck einer Komponente aus. Durch den Einsatz von sprechenden Bezeichnern werden viele Kommentare überflüssig.//
  
-|{{:modul:m319:learningunits:lu10:zwingend.png?30|}}|Die Bezeichner (Namen) von Klassen, Methoden, Attributen, Variablen und Konstanten müssen sprechend sein.              | +|{{de:modul:m319:learningunits:lu10:zwingend.png?30|}}|Die Bezeichner (Namen) von Klassen, Methoden, Attributen, Variablen und Konstanten müssen sprechend sein.              | 
-|{{:modul:m319:learningunits:lu10:ausnahem.png?30|}}|Schleifenzähler innerhalb einer kurzen Iteration (max. 5 Zeilen) dürfen auch kürzere Variablennamen wie i, j verwenden.|+|{{de:modul:m319:learningunits:lu10:ausnahem.png?30|}}|Schleifenzähler innerhalb einer kurzen Iteration (max. 5 Zeilen) dürfen auch kürzere Variablennamen wie i, j verwenden.|
  
 === Beispiel === === Beispiel ===
Zeile 61: Zeile 61:
 //Durch eine einheitliche Schreibweise verbessern Sie die Lesbarkeit Ihres Sourcecodes.// //Durch eine einheitliche Schreibweise verbessern Sie die Lesbarkeit Ihres Sourcecodes.//
  
-^{{:modul:m319:learningunits:lu10:zwingend.png?30|}}^Klassennamen bestehen aus einem Substantiv und beginnen mit einem Grossbuchstaben (z.B. Account).     ^ +^{{de:modul:m319:learningunits:lu10:zwingend.png?30|}}^Klassennamen bestehen aus einem Substantiv und beginnen mit einem Grossbuchstaben (z.B. Account).     ^ 
-|{{:modul:m319:learningunits:lu10:zwingend.png?30|}}|Die Bezeichner von Methoden, Attributen und Variablen beginnen mit einem Kleinbuchstaben.             | +|{{de:modul:m319:learningunits:lu10:zwingend.png?30|}}|Die Bezeichner von Methoden, Attributen und Variablen beginnen mit einem Kleinbuchstaben.             | 
-|{{:modul:m319:learningunits:lu10:zwingend.png?30|}}|Konstanten werden nur mit Grossbuchstaben geschrieben.                                                | +|{{de:modul:m319:learningunits:lu10:zwingend.png?30|}}|Konstanten werden nur mit Grossbuchstaben geschrieben.                                                | 
-|{{:modul:m319:learningunits:lu10:empfehlung.png?30|}}                                                                                             |Zusammengesetzte Bezeichner sollten in camelCase geschrieben werden; z.B. getFirstname().             | +|{{de:modul:m319:learningunits:lu10:empfehlung.png?30|}}                                                                                             |Zusammengesetzte Bezeichner sollten in camelCase geschrieben werden; z.B. getFirstname().             | 
-|{{:modul:m319:learningunits:lu10:empfehlung.png?30|}}                                                                                             |Vermeide Sonderzeichen, Leerzeichen und Umlaute in allen Bezeichnern, sowie in Datei- und Ordnernamen.|+|{{de:modul:m319:learningunits:lu10:empfehlung.png?30|}}                                                                                             |Vermeide Sonderzeichen, Leerzeichen und Umlaute in allen Bezeichnern, sowie in Datei- und Ordnernamen.|
  
 === Beispiel === === Beispiel ===
Zeile 90: Zeile 90:
 //Der Einsatz von// public//-Attributen untergräbt das Prinzip der Datenkapselung.// //Der Einsatz von// public//-Attributen untergräbt das Prinzip der Datenkapselung.//
  
-|{{:modul:m319:learningunits:lu10:zwingend.png?30|}}|Die Attribute einer Klasse werden entweder private (Normalfall) oder protected (Vererbung) definiert.|+|{{de:modul:m319:learningunits:lu10:zwingend.png?30|}}|Die Attribute einer Klasse werden entweder private (Normalfall) oder protected (Vererbung) definiert.|
  
 ===== Zugriff auf Attribute ===== ===== Zugriff auf Attribute =====
Zeile 96: Zeile 96:
 //Die konsequente Verwendung von getter/setter-Methoden unterstützt// lazy initialization //und vermeidet Konflikte mit lokalen Variablen.// //Die konsequente Verwendung von getter/setter-Methoden unterstützt// lazy initialization //und vermeidet Konflikte mit lokalen Variablen.//
  
-|{{:modul:m319:learningunits:lu10:empfehlung.png?30|}}|Der Zugriff auf Attribute soll auch in derselben Klasse mittels Getter/Setter-Methoden erfolgen.|+|{{de:modul:m319:learningunits:lu10:empfehlung.png?30|}}|Der Zugriff auf Attribute soll auch in derselben Klasse mittels Getter/Setter-Methoden erfolgen.|
  
 === Beispiel === === Beispiel ===
Zeile 140: Zeile 140:
 //Ein Programmblock wird zwischen geschweiften Klammern { … } eingefasst.// //Ein Programmblock wird zwischen geschweiften Klammern { … } eingefasst.//
  
-^{{:modul:m319:learningunits:lu10:zwingend.png?30|}}^Die Positionierung der geschweiften Klammern ist einheitlich innerhalb des ganzen Projekts.                                          ^ +^{{de:modul:m319:learningunits:lu10:zwingend.png?30|}}^Die Positionierung der geschweiften Klammern ist einheitlich innerhalb des ganzen Projekts.                                          ^ 
-|{{:modul:m319:learningunits:lu10:zwingend.png?30|}}|Innerhalb eines Programmblocks werden die Zeilen um 2 oder 4 Stellen eingerückt. Die Einrückung ist im ganzen Sourcecode einheitlich.|+|{{de:modul:m319:learningunits:lu10:zwingend.png?30|}}|Innerhalb eines Programmblocks werden die Zeilen um 2 oder 4 Stellen eingerückt. Die Einrückung ist im ganzen Sourcecode einheitlich.|
  
 === Beispiel: Variante 1 (K&R style) === === Beispiel: Variante 1 (K&R style) ===
Zeile 186: Zeile 186:
 //Eine Codezeile sollte immer auf einen Blick erfasst werden können.// //Eine Codezeile sollte immer auf einen Blick erfasst werden können.//
  
-^{{:modul:m319:learningunits:lu10:zwingend.png?30|}}^Eine Codezeile ist maximal 80 (oder 120) Zeichen lang. Längere Zeilen werden umgebrochen.^ +^{{de:modul:m319:learningunits:lu10:zwingend.png?30|}}^Eine Codezeile ist maximal 80 (oder 120) Zeichen lang. Längere Zeilen werden umgebrochen.^ 
-|{{:modul:m319:learningunits:lu10:empfehlung.png?30|}}                                                                                             |Ordnen Sie gleiche Elemente wie Bezeichner oder Bedingungen untereinander an.            |+|{{de:modul:m319:learningunits:lu10:empfehlung.png?30|}}                                                                                             |Ordnen Sie gleiche Elemente wie Bezeichner oder Bedingungen untereinander an.            |
  
 === Beispiel === === Beispiel ===
Zeile 207: Zeile 207:
 //Konstruktoren versetzen ein neu erzeugtes Objekt in einen definierten Anfangszustand.// //Konstruktoren versetzen ein neu erzeugtes Objekt in einen definierten Anfangszustand.//
  
-|{{:modul:m319:learningunits:lu10:zwingend.png?30|}}|Die Konstruktor-Methode(n) stehen an erster Stelle, um die Übersichtlichkeit zu erhöhen.| +|{{de:modul:m319:learningunits:lu10:zwingend.png?30|}}|Die Konstruktor-Methode(n) stehen an erster Stelle, um die Übersichtlichkeit zu erhöhen.| 
-|{{:modul:m319:learningunits:lu10:empfehlung.png?30|}}|Die Initialisierung von Attributen erfolgt im Konstruktor, nicht bei der Deklaration.   |+|{{de:modul:m319:learningunits:lu10:empfehlung.png?30|}}|Die Initialisierung von Attributen erfolgt im Konstruktor, nicht bei der Deklaration.   |
  
 === Beispiel === === Beispiel ===
Zeile 233: Zeile 233:
 //Durch eine geeignete Reihenfolge fällt es leichter, die richtige Methode effizient zu finden.// //Durch eine geeignete Reihenfolge fällt es leichter, die richtige Methode effizient zu finden.//
  
-|{{:modul:m319:learningunits:lu10:empfehlung.png?30|}}|Ähnliche Methoden sollen immer in der gleichen Reihenfolge angeordnet werden.|+|{{de:modul:m319:learningunits:lu10:empfehlung.png?30|}}|Ähnliche Methoden sollen immer in der gleichen Reihenfolge angeordnet werden.|
  
 === Beispiel === === Beispiel ===
Zeile 254: Zeile 254:
 //Der Klassenkopf ist die Visitenkarte einer Klasse. Er informiert den Programmierer über Aufgabe und Version dieser Klasse.// //Der Klassenkopf ist die Visitenkarte einer Klasse. Er informiert den Programmierer über Aufgabe und Version dieser Klasse.//
  
-|{{:modul:m319:learningunits:lu10:zwingend.png?30|}}|Jede Klasse hat einen Javadoc-Klassenkopf. Dieser enthält mindestens die Angaben zu:\\ \\ * Kurzbeschreibung\\ * @author: Autor(en)                                                                                                                                                                                                                                                             | +|{{de:modul:m319:learningunits:lu10:zwingend.png?30|}}|Jede Klasse hat einen Javadoc-Klassenkopf. Dieser enthält mindestens die Angaben zu:\\ \\ * Kurzbeschreibung\\ * @author: Autor(en)                                                                                                                                                                                                                                                             | 
-|{{:modul:m319:learningunits:lu10:empfehlung.png?30|}} |Sofern Sie keine Versionsverwaltung (z.B. git) verwenden, sollten ausserdem\\ \\ * @since: Letztes Änderungsdatum \\ * @version: Aktuelle Version des Sourcecodes \\ \\ im Kopf stehen.|+|{{de:modul:m319:learningunits:lu10:empfehlung.png?30|}} |Sofern Sie keine Versionsverwaltung (z.B. git) verwenden, sollten ausserdem\\ \\ * @since: Letztes Änderungsdatum \\ * @version: Aktuelle Version des Sourcecodes \\ \\ im Kopf stehen.|
  
 === Beispiel === === Beispiel ===
Zeile 273: Zeile 273:
 //Der Methodenkopf liefert alle Angaben über die Aufgabe und Schnittstelle einer Methode.// //Der Methodenkopf liefert alle Angaben über die Aufgabe und Schnittstelle einer Methode.//
  
-|{{:modul:m319:learningunits:lu10:zwingend.png?30|}}|Jede Methode hat einen Javadoc-Kopf mit den Angaben:\\ \\ * Kurzbeschreibung\\ * @param: Beschreibung der Parameter (falls vorhanden)\\ * @return: Beschreibung des Returnwerts (falls vorhanden)\\ * @exception: Beschreibung der Exceptions (falls vorhanden)|+|{{de:modul:m319:learningunits:lu10:zwingend.png?30|}}|Jede Methode hat einen Javadoc-Kopf mit den Angaben:\\ \\ * Kurzbeschreibung\\ * @param: Beschreibung der Parameter (falls vorhanden)\\ * @return: Beschreibung des Returnwerts (falls vorhanden)\\ * @exception: Beschreibung der Exceptions (falls vorhanden)|
  
 === Beispiel === === Beispiel ===
Zeile 292: Zeile 292:
 //Kommentare sind wie das Salz in der Suppe: Zuwenig und es schmeckt nicht, zu viel und es ist ungeniessbar.// //Kommentare sind wie das Salz in der Suppe: Zuwenig und es schmeckt nicht, zu viel und es ist ungeniessbar.//
  
-|{{:modul:m319:learningunits:lu10:zwingend.png?30|}}|Jeder Programmblock, dessen Aufgabe nicht offensichtlich ist, wird in einem Kommentar beschrieben.| +|{{de:modul:m319:learningunits:lu10:zwingend.png?30|}}|Jeder Programmblock, dessen Aufgabe nicht offensichtlich ist, wird in einem Kommentar beschrieben.| 
-|{{:modul:m319:learningunits:lu10:empfehlung.png?30|}}|Ein kurzer Blockkommentar ist oftmals sinnvoller als Zeilenkommentare, die über den Bildschirm hinausreichen.|+|{{de:modul:m319:learningunits:lu10:empfehlung.png?30|}}|Ein kurzer Blockkommentar ist oftmals sinnvoller als Zeilenkommentare, die über den Bildschirm hinausreichen.|
  
 === Beispiel === === Beispiel ===
  • modul/archiv/m319/learningunits/lu10/lu10a-bzzcodingstandards.1711631267.txt.gz
  • Zuletzt geändert: 2024/03/28 14:07
  • von 127.0.0.1