Style Guidelines

Werbung
Seminar aus Softwareentwicklung: Programmierstil
Style Guidelines
für Java und .NET
Klaus Lehner
9957635, [email protected]
Seminar aus Softwareentwicklung: Programmierstil
Style Guidelines für Java und .NET
Übersicht











Was sind Guidelines?
Wozu Guidelines?
Allgemeine Formatierung
Namenskonventionen
Deklarationen
Statements
Verzweigungen & Schleifen
Whitespaces
Dokumentation
CheckStyle
Anwendung in der Praxis
Klaus Lehner, 9957635, [email protected]
2 / 18
Seminar aus Softwareentwicklung: Programmierstil
Style Guidelines für Java und .NET
Was sind Guidelines?


Unverbindliche Richtlinien, wie Source Code zu
schreiben ist, an die man sich halten sollte.
Falls man sich an eine Regel nicht hält,
soll man dies dokumentieren!
Klaus Lehner, 9957635, [email protected]
3 / 18
Seminar aus Softwareentwicklung: Programmierstil
Style Guidelines für Java und .NET
Wozu Guidelines?


Immer mehr Geld fließt in die Wartung von
Source Code
Fast keine Software wird immer vom
Programmierer selbst gewartet
Klaus Lehner, 9957635, [email protected]
4 / 18
Seminar aus Softwareentwicklung: Programmierstil
Style Guidelines für Java und .NET
Allgemeine Formatierungen



Keine Tabulatoren
Keine Pagebreaks
Zeilenlänge auf 80 Zeichen beschränken



Function1 (param1, param2,
param3);
Zeilenumbruch nach
einem Komma
totalSum
Zeilenumbruch nach
einem Operator
Die neue Zeile an den
Anfang des Ausdrucks ausrichten
= a + b + c +
d + e;
for (tableNo = 0; tableNo < maxTable;
tableNo += tableStep)
Klaus Lehner, 9957635, [email protected]
5 / 18
Seminar aus Softwareentwicklung: Programmierstil
Style Guidelines für Java und .NET
Namenskonventionen (1)

Syntaktische
Namenskonventionen




Pascal Case
BackColor
Camel Case
backColor
Uppercase
MAXLEN
Kein Case
Sensitiv!!!
Packages /
Namespaces
.NET
Camel
Pascal
Klassen
Pascal
Interfaces
Pascal
Pascal; Präfix I
Methoden
Camel
Pascal
Felder,
Parameter
Property
Konstanten
Klaus Lehner, 9957635, [email protected]
Java
Camel
---
Pascal
Uppercase
Pascal
6 / 18
Seminar aus Softwareentwicklung: Programmierstil
Style Guidelines für Java und .NET
Namenskonventionen (2)

Semantische Namenskonventionen



Englisch verwenden!
Keine Abkürzungen
Keine verneinten
bool‘schen Variablen
bool isNotError;
:
if (!isNotError) ..
Iteratoren
i, j, k, ...
Repräsentation einer Anzahl
nPoints, numberOfPoints
Initialisierungsmethoden
InitializeFontSet()
Suchmethoden
FindNext()
Berechnungsmethoden
ComputeAverage()
Klaus Lehner, 9957635, [email protected]
7 / 18
Seminar aus Softwareentwicklung: Programmierstil
Style Guidelines für Java und .NET
Namenskonventionen (3)


JavaBeans-Konventionen
get / set / is
public boolean isConnected() {
return connected;
}
public String getName() {
return this.name;
}
public setName(String n) {
this.name = n;
}
Klaus Lehner, 9957635, [email protected]
8 / 18
Seminar aus Softwareentwicklung: Programmierstil
Style Guidelines für Java und .NET
Deklarationen

Klassen- und Methodendeklarationen


Nach jeder Methode 1 Zeile freilassen
Variablendeklaration



Nur gleichartige
Variablen in einer
Zeile deklarieren
Immer am Anfang
eines Blocks
Keine äußerliegenden
Variablen überdecken
Klaus Lehner, 9957635, [email protected]
Class Foo {
int var;
void FooMeth() {
int var;
if (keypressed) {
int var;
:
} // if
} // FooMeth
} // Foo
9 / 18
Seminar aus Softwareentwicklung: Programmierstil
Style Guidelines für Java und .NET
Statements

max. 1 Anweisung pro Zeile


Ausnahme: For-Schleife
Zusammengehörende Statements nacheinander
schreiben
myObject.message1();
myObject.message2();
counter++;
myObject.message3();
myObject.message1();
myObject.message2();
myObject.message3();
counter++;

Bei Schleifen und Verzweigungen immer
geschwungene Klammern verwenden
Klaus Lehner, 9957635, [email protected]
10 / 18
Seminar aus Softwareentwicklung: Programmierstil
Style Guidelines für Java und .NET
Verzweigungen
if (condition) {
statements;
}
if (condition) {
statements;
} else {
statements;
}
if (condition) {
statements;
} else if (condition) {
statements;
} else {
statements;
}
Klaus Lehner, 9957635, [email protected]
switch (value) {
case 1:
statements;
/* fall through */
case 2:
statements;
break;
case 3:
statements;
break;
default:
statement;
break;
}
11 / 18
Seminar aus Softwareentwicklung: Programmierstil
Style Guidelines für Java und .NET
Schleifen & try...catch
for (initialization; condition; update) {
statements;
}
while (condition) {
statements;
}
do {
statements;
} while (condition);
Klaus Lehner, 9957635, [email protected]
try {
statements;
} catch (Exception e) {
statements;
}
try {
statements;
} catch (Exception e) {
statements
} finally {
statements;
}
12 / 18
Seminar aus Softwareentwicklung: Programmierstil
Style Guidelines für Java und .NET
Abstände

Leerzeichen zur besseren Lesbarkeit einführen


vor und nach Operatoren
nach Kommas
counter=1;
grandTotal=invoice.total()+getAmountDue();
grandTotal=Discounter.discount(grandTotal,this);
counter = 1;
grandTotal = invoice.total() + getAmountDue();
grandTotal = Discounter.discount(grandTotal, this);
Klaus Lehner, 9957635, [email protected]
13 / 18
Seminar aus Softwareentwicklung: Programmierstil
Style Guidelines für Java und .NET
Dokumentation
„Goldene Regel“

Source Code, der es nicht wert ist,
dokumentiert zu werden, ist es auch nicht
wert, geschrieben zu werden.
Klaus Lehner, 9957635, [email protected]
14 / 18
Seminar aus Softwareentwicklung: Programmierstil
Style Guidelines für Java und .NET
Code Beautifier

CheckStyle




Command Tool
JBuilder Plugin
„Compiler“, der nach Guideline-Verletzungen
sucht
www.sourceforge.net

nach „checkstyle“ suchen
Klaus Lehner, 9957635, [email protected]
15 / 18
Seminar aus Softwareentwicklung: Programmierstil
Style Guidelines für Java und .NET
Praxisbeispiel VAI Linz




Besprechung
festgelegte
Regeln
für alle jederzeit
zugänglich
zusätzlicher
Einsatz von
CheckStyle
Klaus Lehner, 9957635, [email protected]
16 / 18
Seminar aus Softwareentwicklung: Programmierstil
Style Guidelines für Java und .NET
Zusammenfassung






Die Richtlinien verstehen
Eine Liste von Richtlinien auswählen
An diese Richtlinien glauben
Sie schon während der Implementierung
befolgen, nicht erst nachher
Den Style zu einem Teil der Qualität
machen
Für Menschen, nicht Maschinen
programmieren
Klaus Lehner, 9957635, [email protected]
17 / 18
Seminar aus Softwareentwicklung: Programmierstil
Style Guidelines für Java und .NET
Happy Coding ;-)
Klaus Lehner, 9957635, [email protected]
18 / 18
Herunterladen