Style Guidelines für Java und .NET

Slides:



Advertisements
Ähnliche Präsentationen
C Sharp (C#) Martin Saternus Senior Student Partner
Advertisements

der Universität Oldenburg
Klassen - Verkettete Liste -
Forschungszentrum caesar
Einführung in die Programmierung Zusammenfassung
Was ist neu in VS 2003 ? Ein Überblick. Bernd Marquardt Software & Consulting
Dr. Andreas Winter Sommersemester 2007 Einführung in die Software-Entwicklung © Institut für Informatik Programmier-Richtlinien vgl. auch
(kleine!) Java Einführung Mittwoch, Heute Ziel: erstes Java-Programm erstellen Von der Aufgabenstellung bis zur Lösung Grundlagen Einfache.
der Universität Oldenburg
Ausnahmen HS Merseburg (FH) WS 06/07.
Java: Objektorientierte Programmierung
Java: Dynamische Datentypen
Java: Grundlagen der Objektorientierung
FH-Hof Fehlerbehandlung Richard Göbel. FH-Hof Konzept Fehler können mit dem Operator throw einer übergeordneten Funktion signalisiert werden. Parameter.
SWITCH - Anweisung.
Benötigte Applets Startseite: in HTML-Format Applet auf der Startseite Das Applet, das auf der Startseite geladen wird, wird die vier Buttons und die eine.
Praxis-Repetitorium JAVA zusätzliche, ergänzende Lehrveranstaltung
PRJ 2007/1 Stefan Dissmann Motivation Problem: gleiche Datenstrukturen werden für verschiedene Objekte gebraucht: z.B. Listen von Studierenden, Kunden,
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher bekannt: Einfache Variable Feld Vereinbarung Zuweisung Block while-Schleife Bedingte Anweisung (if) Typ.
Zusammenfassung Vorwoche
Entwicklungsrichtlinien für Java-Software PG-AQUASIUM Michael Weking
Die Skriptsprache Perl (2) Wolfgang Friebel DESY Zeuthen.
Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Projektplan: m : Anforderungsanalyse Dokument m :
Projektplan: Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University.
Das erste Programm (Folie 16)
DVG Klassen und Objekte
Java in 9 Folien Besser: Online-Buch Go to Java 2.
Einführung in die Programmierung Datensammlung
Struktogramme IF-ELSE FOR – Schleife
Seite 1 Interface - Konzept Ein Interface führt einen neuen Datentyp ein: interface Frau {... } Das Interface enthält Deklarationen ( keine Definitionen.
Grundkonzepte Java - Klassendefinition
Informatik 1 Übung 2.
Kontrollstrukturen Verwendung: Steuerung des Ablaufs.
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
Java und Eclipse.
EPROG Tutorium Einheit 4 Klassen und Objekte. Wiederholung Schleifen do... while while for break/continue Strings String char Methoden für Strings Arrays.
Einführung in die Programmierung
Abteilung für Telekooperation Übung Softwareentwicklung 1 für Wirtschaftsinformatik Dr. Wieland Schwinger
C-Einstieg. Agenda 1Vorbereitung 2Aufbau eines Programms 2.1Header 2.2 Methoden 2.3Main 3Datentypen & Variablen 4Operatoren(+, -, *, /) 5Logik 5.1IF 5.2Switch.
Grundkonzepte des Programmierens (mit ActionScript)
Programmbereich, zu dem eine Deklaration gehört Arten von Gültigkeitsbereichen -Namespace : Deklarationen von Klassen, Interfaces, Structs, Enums, Delegates.
Purga - Scriptengine Ein Einblick.
Algorithmen und Datenstrukturen SS 2005
EPROG Tutorium #3 Philipp Effenberger
Einführung in PHP.
Einführung in PHP 5.
MODULA-2.
Starten der Entwicklungsumgebung (IDE)
Vorlesung 3. if else Anweisung if (Ausdruck) Anweisung1 else Anweisung2 Ausdruck hat einen von 0 verschiedenen Wert, so wird Anweisung 1 ausgeführt. Bei.
Variablen. var meineZahl:Number = 7; meineZahl 7 Name TypWert = Zuweisung von Variablen.
CuP - Java Achte Vorlesung Entspricht ungefähr Kapitel 4.1 des Skriptums Montag, 28. Oktober 2002.
Mag. Thomas Hilpold, Universität Linz, Institut für Wirtschaftsinformatik – Software Engineering 1 Programmierpraktikum Java SS 2005 Mag.Thomas Hilpold.
Java Syntaxdiagramme Buchstabe A B Z a z ... Ziffer
Ausnahmen Vorlesung besteht aus zwei Teilen Programmierung (4 SWS)
Java-Kurs - 4. Übung Hausaufgabe Weitere Kontrollstrukturen
Lernlandkarte OOP (ObjektOrientiertes Programmieren)
Java-Kurs - 4. Übung Hausaufgabe Weitere Kontrollstrukturen
Programmierkurs JavaUE 4 Anweisungen und ProgrammeDietrich BolesSeite 1 Programmierkurs Java Dr. Dietrich Boles Teil Imperative Programmierung Unterrichtseinheit.
Zusammenfassung des Kapitel 6
Wieland Schwinger Softwareentwicklung 2 Assertions.
Java-Kurs - 4. Übung Hausaufgabe Weitere Kontrollstrukturen
Schwarz, Lubkoll : Javakurs LE Organisatorisches ● Wer sind wir? ● Was machen wir hier? ● Was haben wir davon? ● Was habt ihr davon?
Hello World! Javakurs 2013 Arne Kappen
Aufgaben zu Rückgabewerten
Java-Kurs - 4. Übung weitere Kontrollstrukturen
Die Struktur einer Java-Klasse
SS 04 Christiane Rauh Christian Hellinger
Arrays in Java Ein Array ist eine Variable, die aus einer An-zahl von Elementen des gleichen Datentyps besteht, die aufeinanderfolgend im Speicher liegen.
Schleifen Datenfelder (Arrays) Verzweigungen
 Präsentation transkript:

Style Guidelines für Java und .NET 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

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!

Wozu Guidelines? Immer mehr Geld fließt in die Wartung von Source Code Fast keine Software wird immer vom Programmierer selbst gewartet

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); totalSum = a + b + c + d + e; for (tableNo = 0; tableNo < maxTable; tableNo += tableStep)

Namenskonventionen (1) Syntaktische Namenskonventionen Pascal Case BackColor Camel Case backColor Uppercase MAXLEN Kein Case Sensitiv!!! Java .NET Packages / Namespaces Camel Pascal Klassen Interfaces Pascal; Präfix I Methoden Felder, Parameter Property --- Konstanten Uppercase

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

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

Deklarationen Klassen- und Methodendeklarationen Variablendeklaration 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() { if (keypressed) { : } // if } // FooMeth } // Foo

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

Verzweigungen if (condition) { statements; } } else { } else if (condition) { switch (value) { case 1: statements; /* fall through */ case 2: break; case 3: default: statement; }

Schleifen & try...catch for (initialization; condition; update) { statements; } try { statements; } catch (Exception e) { } statements } finally { while (condition) { statements; } do { statements; } while (condition);

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

Dokumentation „Goldene Regel“ Source Code, der es nicht wert ist, dokumentiert zu werden, ist es auch nicht wert, geschrieben zu werden.

Code Beautifier CheckStyle www.sourceforge.net Command Tool JBuilder Plugin „Compiler“, der nach Guideline-Verletzungen sucht www.sourceforge.net nach „checkstyle“ suchen

Praxisbeispiel VAI Linz Besprechung festgelegte Regeln für alle jederzeit zugänglich zusätzlicher Einsatz von CheckStyle

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

Happy Coding ;-)