Style Guidelines für Java und .NET

Preview:

DESCRIPTION

Seminar aus Softwareentwicklung: Programmierstil. Style Guidelines für Java und .NET. Klaus Lehner 9957635, klu2@gmx.at. Übersicht. Was sind Guidelines? Wozu Guidelines? Allgemeine Formatierung Namenskonventionen Deklarationen Statements Verzweigungen & Schleifen Whitespaces - PowerPoint PPT Presentation

Citation preview

Style Guidelines für Java und .NET

Klaus Lehner9957635, klu2@gmx.at

Seminar aus Softwareentwicklung: Programmierstil

2 / 18

Seminar aus Softwareentwicklung: Programmierstil Style Guidelines für Java und .NET

Klaus Lehner, 9957635, klu2@gmx.at

Übersicht Was sind Guidelines? Wozu Guidelines? Allgemeine Formatierung Namenskonventionen Deklarationen Statements Verzweigungen & Schleifen Whitespaces Dokumentation CheckStyle Anwendung in der Praxis

3 / 18

Seminar aus Softwareentwicklung: Programmierstil Style Guidelines für Java und .NET

Klaus Lehner, 9957635, klu2@gmx.at

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!

4 / 18

Seminar aus Softwareentwicklung: Programmierstil Style Guidelines für Java und .NET

Klaus Lehner, 9957635, klu2@gmx.at

Wozu Guidelines? Immer mehr Geld fließt in die Wartung

von Source Code

Fast keine Software wird immer vom Programmierer selbst gewartet

5 / 18

Seminar aus Softwareentwicklung: Programmierstil Style Guidelines für Java und .NET

Klaus Lehner, 9957635, klu2@gmx.at

Allgemeine Formatierungen

Keine Tabulatoren Keine Pagebreaks Zeilenlänge auf 80 Zeichen beschränken

Zeilenumbruch nach einem Komma

Zeilenumbruch nach einem Operator

Die neue Zeile an den Anfang des Ausdrucks ausrichten

Function1 (param1, param2, param3);

for (tableNo = 0; tableNo < maxTable; tableNo += tableStep)

totalSum = a + b + c + d + e;

6 / 18

Seminar aus Softwareentwicklung: Programmierstil Style Guidelines für Java und .NET

Klaus Lehner, 9957635, klu2@gmx.at

Namenskonventionen (1) Syntaktische

Namenskonventionen Pascal CaseBackColor

Camel CasebackColor

UppercaseMAXLEN

Kein Case Sensitiv!!!

Java .NET

Packages / Namespaces

Camel Pascal

Klassen Pascal

InterfacesPascal

Pascal; Präfix I

Methoden Camel Pascal

Felder, Parameter

Camel

Property --- Pascal

Konstanten Uppercase Pascal

7 / 18

Seminar aus Softwareentwicklung: Programmierstil Style Guidelines für Java und .NET

Klaus Lehner, 9957635, klu2@gmx.at

Namenskonventionen (2) Semantische Namenskonventionen

Englisch verwenden! Keine Abkürzungen Keine verneinten

bool‘schen Variablen

Iteratoren i, j, k, ...

Repräsentation einer Anzahl

nPoints, numberOfPoints

Initialisierungsmethoden InitializeFontSet()

Suchmethoden FindNext()

Berechnungsmethoden ComputeAverage()

bool isNotError;:if (!isNotError) ..

8 / 18

Seminar aus Softwareentwicklung: Programmierstil Style Guidelines für Java und .NET

Klaus Lehner, 9957635, klu2@gmx.at

Namenskonventionen (3) JavaBeans-Konventionen get / set / is

public boolean isConnected() { return connected;}

public setName(String n) { this.name = n;}

public String getName() { return this.name;}

9 / 18

Seminar aus Softwareentwicklung: Programmierstil Style Guidelines für Java und .NET

Klaus Lehner, 9957635, klu2@gmx.at

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

Class Foo { int var; void FooMeth() { int var; if (keypressed) { int var; : } // if } // FooMeth

} // Foo

10 / 18

Seminar aus Softwareentwicklung: Programmierstil Style Guidelines für Java und .NET

Klaus Lehner, 9957635, klu2@gmx.at

Statements max. 1 Anweisung pro Zeile

Ausnahme: For-Schleife Zusammengehörende Statements

nacheinander schreiben

Bei Schleifen und Verzweigungen immer geschwungene Klammern verwenden

myObject.message1();myObject.message2();counter++;myObject.message3();

myObject.message1();myObject.message2();myObject.message3();

counter++;

11 / 18

Seminar aus Softwareentwicklung: Programmierstil Style Guidelines für Java und .NET

Klaus Lehner, 9957635, klu2@gmx.at

Verzweigungenif (condition) {

statements;

}

if (condition) {

statements;

} else {

statements;

}

if (condition) {

statements;

} else if (condition) {

statements;

} else {

statements;

}

switch (value) {

case 1:

statements;

/* fall through */

case 2:

statements;

break;

case 3:

statements;

break;

default:

statement;

break;

}

12 / 18

Seminar aus Softwareentwicklung: Programmierstil Style Guidelines für Java und .NET

Klaus Lehner, 9957635, klu2@gmx.at

Schleifen & try...catch

while (condition) {

statements;

}

try {

statements;

} catch (Exception e) {

statements;

}

try {

statements;

} catch (Exception e) {

statements

} finally {

statements;

}

for (initialization; condition; update) {

statements;

}

do {

statements;

} while (condition);

13 / 18

Seminar aus Softwareentwicklung: Programmierstil Style Guidelines für Java und .NET

Klaus Lehner, 9957635, klu2@gmx.at

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);

14 / 18

Seminar aus Softwareentwicklung: Programmierstil Style Guidelines für Java und .NET

Klaus Lehner, 9957635, klu2@gmx.at

Dokumentation

„Goldene Regel“

Source Code, der es nicht wert ist, dokumentiert zu werden, ist es auch nicht wert, geschrieben zu werden.

15 / 18

Seminar aus Softwareentwicklung: Programmierstil Style Guidelines für Java und .NET

Klaus Lehner, 9957635, klu2@gmx.at

Code Beautifier CheckStyle

Command Tool JBuilder Plugin „Compiler“, der nach Guideline-

Verletzungen sucht www.sourceforge.net

nach „checkstyle“ suchen

16 / 18

Seminar aus Softwareentwicklung: Programmierstil Style Guidelines für Java und .NET

Klaus Lehner, 9957635, klu2@gmx.at

Praxisbeispiel VAI Linz Besprechung festgelegte

Regeln für alle jederzeit

zugänglich zusätzlicher

Einsatz vonCheckStyle

17 / 18

Seminar aus Softwareentwicklung: Programmierstil Style Guidelines für Java und .NET

Klaus Lehner, 9957635, klu2@gmx.at

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

18 / 18

Seminar aus Softwareentwicklung: Programmierstil Style Guidelines für Java und .NET

Klaus Lehner, 9957635, klu2@gmx.at

Happy Coding ;-)

Recommended