Dr. Andreas Winter Sommersemester 2007 Einführung in die Software-Entwicklung © Institut für Informatik Programmier-Richtlinien vgl. auch

Slides:



Advertisements
Ähnliche Präsentationen
Mikrocomputertechnik
Advertisements

der Universität Oldenburg
der Universität Oldenburg
Definition von Klassen in Java
Java Beans von Raoul Schneider.
Abstrakte Klassen HS Merseburg (FH) WS 06/07.
FH-Hof Extensible Markup Language Richard Göbel. FH-Hof Extensible Markup Language XML XML ist universeller Ansatz für die Strukturierung von Zeichenketten.
Java: Objektorientierte Programmierung
Java: Dynamische Datentypen
Indirekte Adressierung
Java: Grundlagen der Sprache
Java: Referenzen und Zeichenketten
FH-Hof Java Packages Richard Göbel. FH-Hof Das Modulkonzept für Java Packages dienen zur Strukturierung größerer Java- Programme Ein Package kann: eigene.
Java: Grundlagen der Objektorientierung
SWITCH - Anweisung.
Konstruktoren.
Assoziationen (Beziehungen). Zwischen Objekten kann es eine Beziehung geben.
Objekte und Arbeitsspeicher
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 3 Klassen, Objekte, Arrays und Kontrollstrukturen Sommersemester 2003 Lars Bernard.
Universität Dortmund, Lehrstuhl Informatik 1 EINI II Einführung in die Informatik für Naturwissenschaftler und Ingenieure.
Einführung in die Programmierung mit Java
Java-Kurs - 2. Übung Entwicklungsumgebung Struktur von Programmen
Programmieren mit JAVA
Programmieren mit JAVA
Praxis-Repetitorium JAVA zusätzliche, ergänzende Lehrveranstaltung
PRJ 2007/1 Stefan Dissmann Motivation Problem: Benutztes Objekt kennt den Kontext seiner Nutzung nicht. Daher kann es in besonderen Situationen keine Entscheidung.
PKJ 2005/1 Stefan Dissmann Ausblick Es fehlen noch: Möglichkeiten zum Strukturieren größerer Programme Umgang mit variabler Zahl von Elementen Umgang mit.
PKJ 2005/1 Stefan Dissmann Rückblick auf 2005 Was zuletzt in 2005 vorgestellt wurde: Klassen mit Attributen, Methoden und Konstruktoren Referenzen auf.
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
Zusammenfassung Vorwoche
Entwicklungsrichtlinien für Java-Software PG-AQUASIUM Michael Weking
Die Skriptsprache Perl (2) Wolfgang Friebel DESY Zeuthen.
Packages Vortrag : Cornelia Hardt 23. November 1999.
DVG Kommentare1 Kommentare. DVG Kommentare 2 Kommentare Es gibt zwei Arten von Kommentaren: einzeilige Kommentare // der Kommentar geht.
DVG Einführung in Java1 Einführung in JAVA.
DVG Klassen und Objekte
DVG Kommentare 1 Kommentare. 2 Kommentare Es gibt zwei Arten von Kommentaren: einzeilige Kommentare // der Kommentar geht bis zum Ende der Zeile.
Java in 9 Folien Besser: Online-Buch Go to Java 2.
Einführung in die Programmierung Datensammlung
Verzweigung.
© 2004 Pohlig - Taulien Dokumentation mit JavaDoc.
Sitzung 3: Klassen, Objekte, Arrays und Kontrollstrukturen
PRJ 2007/1 Stefan Dissmann Verkettete datenstruktur: Liste Problem: Liste, die eine beliebige Zahl von Elementen verwaltet Operationen: Erzeugen, Anfügen,
Programme dokumentieren mit JavaDoc
IT2 – WS 2005/20061Oct 10, 2005 Externes Verhalten – Quelltext (source code) Durch Aufrufe der Konstruktoren und Methoden kann das externe Verhalten (=die.
Entwurfs- und Implementationsdiagramme
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
Debugging in Lua Universität zu Köln Re-usable Content in 3D und Simulationssystemen Prof. Dr. Manfred Thaller Referent: Artur Wilke.
Copyright 2011 Bernd Brügge, Christian Herzog Grundlagen der Programmierung TUM Wintersemester 2011/12 Kapitel 11, Folie 1 2 Dr. Christian Herzog Technische.
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
Allgemeines zu Java Universelle, objektorientierte Programmiersprache
OOP-Begriffe Abstraktion Modellieren Klasse Objekt Attribute Methoden
Style Guidelines für Java und .NET
Objektorientiertes Konstruieren
Programmbereich, zu dem eine Deklaration gehört Arten von Gültigkeitsbereichen -Namespace : Deklarationen von Klassen, Interfaces, Structs, Enums, Delegates.
EPROG Tutorium #6 Philipp Effenberger
Starten der Entwicklungsumgebung (IDE)
PI Burgenland Java und JavaScript 1. Teil
CuP - Java Achte Vorlesung Entspricht ungefähr Kapitel 4.1 des Skriptums Montag, 28. Oktober 2002.
Java Syntaxdiagramme Buchstabe A B Z a z ... Ziffer
Lernlandkarte OOP (ObjektOrientiertes Programmieren)
Einführung in die Programmierung mit Java
Java-Kurs Übung Besprechung der Hausaufgabe
Programmierkurs JavaUE 4 Anweisungen und ProgrammeDietrich BolesSeite 1 Programmierkurs Java Dr. Dietrich Boles Teil Imperative Programmierung Unterrichtseinheit.
Abstrakte Klassen und das Interface-Konzept
Vortrag Einführung in AspectJ. Gliederung 1 Einleitung 2 Querschnittsfunktionalitäten in AspectJ 2.1 Sprachelemente 3 Beispiel 4 Join Point Modell 5 Weaving.
Die Struktur einer Java-Klasse
Es gibt Klassen, die mit der Entwicklungsumgebung ausgeliefert werden
Implementieren von Klassen
 Präsentation transkript:

Dr. Andreas Winter Sommersemester 2007 Einführung in die Software-Entwicklung © Institut für Informatik Programmier-Richtlinien vgl. auch

2 Dr. Andreas Winter © Institut für Informatik Sommersemester 2007 Einführung in die Software-Entwicklung [Balzert 2001, S. 1068ff] Bemerkung Nicht die konkrete Ausprägung der Programmier- Richtlinien sondern ihr generelles Vorliegen ist wichtig Programmier-Richtlinien Bemerkung o Programme werden häufiger gelesen als geschrieben o Programmtexte müssen gut lesbar und nachvollziehbar sein Feststellung o Aufstellen und Einhalten von Programmier- Richtlinien erleichtert das Lesen, Einarbeiten, und Erweitern von Programmtexten Hinweis o Das Einhalten der Programmier-Richtlinien ist (durch geeignete Werkzeuge) zu überprüfen

3 Dr. Andreas Winter © Institut für Informatik Sommersemester 2007 Einführung in die Software-Entwicklung Programmier-Richtlinien Bezeichner o Bezeichner für Klassen, Methoden, Attribute etc. müssen "sprechend" und selbsterklärend sein o Bezeichner enthalten keine Leerzeichen o in zusammengesetzten Bezeichnern beginnt jedes Wort mit einem Grossbuchstaben (CamelCase) o Bezeichner sollten durchgängig deutsch oder (bevorzugt) englisch sein, Umlaute und Sonderzeichen sind zu vermeiden

4 Dr. Andreas Winter © Institut für Informatik Sommersemester 2007 Einführung in die Software-Entwicklung Programmier-Richtlinien Klassenbezeichner, Interfacebezeichner o Klassen und Interfaces werden durch Substantive im Singular bezeichnet o Klassen- und Interfacebezeichner beginnen mit Grossbuchstaben Attributbezeichner o Attribute werden durch Substantive mit evtl. vorangestelltem Adjektiv im Singular bezeichnet o Attributbezeichner beginnen mit einem Kleinbuchstaben class DigitalLibrary; interface Collection; int i; Author theAuthor; float currentSpeed;

5 Dr. Andreas Winter © Institut für Informatik Sommersemester 2007 Einführung in die Software-Entwicklung Programmier-Richtlinien Methodenbezeichner o Methoden werden durch Verbalphrasen bezeichnet o Methodenbezeichner beginnen mit einem Kleinbuchstaben o Methoden, die auf Attribute lesend (getter) oder schreibend (setter) zugreifen werden durch den Attributbezeichner mit vorangestelltem " get " oder " set " benannt setName(); getName(); printName();

6 Dr. Andreas Winter © Institut für Informatik Sommersemester 2007 Einführung in die Software-Entwicklung Programmier-Richtlinien Konstantenbezeichner o Konstanten werden durch Substantive in GROSSBUCHSTABEN beschrieben o Teilworte werden durch "_" voneinander getrennt o generell sind sinnvoll bezeichnete Konstanten der Verwendung konstanter Werte vorzuziehen o bessere Lesbarkeit o höhere Wartungsfreundlichkeit int MAX_AUTHORS = 5; int MIN_WIDTH = 4;

7 Dr. Andreas Winter © Institut für Informatik Sommersemester 2007 Einführung in die Software-Entwicklung Programmier-Richtlinien Struktur (für Java-Programme) o.java-Dateien enthalten genau eine Klasse oder genau ein Interface o einleitender Kommentar o Package-Angabe o Import Statement o eine Klasse/Interface o Klassen/Interfaces bestehen aus o einleitender Kommentar o Attribute o statische (Klassen-) Variablen ( public, protected, private ) o Instanzvariablen ( public, protected, private ) o Methoden o Konstruktoren o vergleichende Methoden o Methoden mit schreibendem Zugriff o Methoden mit lesendem Zugriff o restliche Methoden Bemerkung die Komponenten sind in der angegebenen Reihen- folge zu notieren

8 Dr. Andreas Winter © Institut für Informatik Sommersemester 2007 Einführung in die Software-Entwicklung Programmier-Richtlinien generelle Formatierungsrichtlinien o Dateien dürfen nicht mehr als 2000 Zeilen besitzen (2000 Zeilen ist schon viel zu viel) o Zeilen dürfen nicht mehr als 80 Zeichen besitzen o Verfeinerungen (Blöcke) werden 4 Zeichen eingerückt o pro Zeile soll höchstens o eine Variable deklariert werden o ein Programmstatement notiert werden o Leerzeilen trennen o Variablen von Methoden o Methoden von Methoden o (lokale) Variablen vom ersten Programmstatement o Leerzeichen trennen o Schlüsselworte von "(" o Operanden von Operatoren (außer ".") while (i != 5) { … } int i; int j; i++; j --;

9 Dr. Andreas Winter © Institut für Informatik Sommersemester 2007 Einführung in die Software-Entwicklung Programmier-Richtlinien Klammerregeln für Methoden o zwischen Methodennamen und "(" steht kein Leer- zeichen o Blöcke werden in "{" und "}" eingeschlossen o öffnende Klammer "{" erscheint in der Zeile des zusammengesetzten Statements o schließende Klammer "}" erscheint in einer eigenen Zeile auf der selben Einrückungsstufe wie das zusammengesetzte Statement class MyDemo { int ivar; doIt(int i, int j) { ivar = i + j; } doSmthElse(int i){ if (i == 0) { System.out.println("Zero"); } else { // ( i != 0) System.out.println("NonZero"); }

10 Dr. Andreas Winter © Institut für Informatik Sommersemester 2007 Einführung in die Software-Entwicklung Programmier-Richtlinien Dokumentation o Klassen werden durch eine Präambel eingeleitet o Autoren o Datum der initialen Erstellung o Versionsnummer o Bearbeitungszustand (geplant, in Bearbeitung, freigegeben) o Änderungshistorie o kurze Aufgabenbeschreibung

11 Dr. Andreas Winter © Institut für Informatik Sommersemester 2007 Einführung in die Software-Entwicklung Programmier-Richtlinien Dokumentation o Methoden werden durch eine Präambel eingeleitet o Autoren o Datum der initialen Erstellung o Versionsnummer o Bearbeitungszustand (geplant, in Bearbeitung, freigegeben) o Änderungshistorie o kurze Aufgabenbeschreibung der Methode o für Methoden o Anforderungen an Eingabedaten o Anforderungen an Ausgabedaten (incl. Bezug zu Eingabedaten) o im Code o ist jede Schleife durch ihre Invariante zu dokumentieren o ist jeder else-Teil einer Verzweigung mit dem hier zutreffenden Prädikat zu kommentieren