Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Kommentierung & Dokumentation SE Programmierstil, Wind Markus, 2002. Überblick/Kommentierung Kommentierung Self-documenting code Arten von Kommentaren.

Ähnliche Präsentationen


Präsentation zum Thema: "Kommentierung & Dokumentation SE Programmierstil, Wind Markus, 2002. Überblick/Kommentierung Kommentierung Self-documenting code Arten von Kommentaren."—  Präsentation transkript:

1 Kommentierung & Dokumentation SE Programmierstil, Wind Markus, Überblick/Kommentierung Kommentierung Self-documenting code Arten von Kommentaren Wie wird kommentiert ? Konsistenz und Automatisierung

2 Kommentierung & Dokumentation SE Programmierstil, Wind Markus, Überblick/Dokumentation Dokumentation interne/externe Dokumentation Probleme von Dokumentationen Funktionen einer Dokumentation Entwicklungsprinzipien Layout von Dokumentationen

3 Kommentierung & Dokumentation SE Programmierstil, Wind Markus, Self-documenting code/Beispiel for(i=1;i<=Num;i++){ MeetsCriteria[i]=true; for(i=2;i<=Num/2;i++){ j=i+i; while(j<=Num){ MeetsCriteria[j]=false; j=j+i; }} for(i=1;i<=Num;i++){ if(MeetsCriteria[i]) System.out.println(i); for(primeCand=1;primeCand<=Num;primeCand++) IsPrime[primeCand]=true; for(factor=2;factor<=Num/2;factor++){ factNumber=factor+factor; while(factNumber<=Num){ IsPrime[factNumber]=false; factNumber=factNumber+factor; } for(primeCand=1;primeCand<=Num;primeCand++) if(IsPrime[primeCand] System.out.println(primeCand);

4 Kommentierung & Dokumentation SE Programmierstil, Wind Markus, Self-documenting code (1) Funktionen: beschreibender Name eine klar definierte Aufgabe verständliches Interface Datenorganisation: Zusätzliche Variablen wenn nötig ADT mit minimaler Komplexität und Schnittstelle

5 Kommentierung & Dokumentation SE Programmierstil, Wind Markus, Self-documenting code (2) Variablen- und Konstanten: beschreibende Namen Verwendung nur für beschriebenen Zweck Konstanten mit beschreibendem Namen Bezeichnung unterscheidet zwischen Typen Layout: Layout entspricht dem logischen Aufbau

6 Kommentierung & Dokumentation SE Programmierstil, Wind Markus, Self-documenting code (3) Kontrollstruktur: Kapselung von zusammengehörenden Anweisungen Normalablauf folgt dem if-Zweig minimale Komplexität der Kontrollstrukturen minimale Verschachtelung keine komplexen booleschen Konstrukte

7 Kommentierung & Dokumentation SE Programmierstil, Wind Markus, Arten von Kommentaren (1) erklärende Kommentare: komplizierte, trickreiche und sensible Stellen ist der Code zu kompliziert ? markierende Kommentare: verbleiben nicht im Code vom Compiler erkannt/nicht erkannt

8 Kommentierung & Dokumentation SE Programmierstil, Wind Markus, Arten von Kommentaren (2) inhaltliche Kommentare: was tut ein Abschnitt im Code ? zusammenfassende Kommentare: kompakte Prosabeschreibung

9 Kommentierung & Dokumentation SE Programmierstil, Wind Markus, effizientes Kommentieren keine optisch aufwendigen Kommentare schwer wartbar hoher Zeitaufwand keine komplizierte Sprache fehlendes Codeverständnis ? schwer nachvollziehbar Die folgende Folie zeigt Beispiele für ineffiziente Kommentare:

10 Kommentierung & Dokumentation SE Programmierstil, Wind Markus, effizientes Kommentieren/Beispiel /******************************************* * Mein wunderschön eingerahmter Kommentar * *******************************************/ // mein ineffizient unterstrichener Kommentar // // score aktueller Punktestand // topScore......höchster erzielter Punktestand

11 Kommentierung & Dokumentation SE Programmierstil, Wind Markus, Wie wird kommentiert ? / Allgemein (1) keine Wiederholung des Codes was passiert, nicht wie passiert es vor dem zu kommentierenden Codeteil vernünftige Anzahl an Kommentaren

12 Kommentierung & Dokumentation SE Programmierstil, Wind Markus, Wie wird kommentiert ? / Allgemein (2) überraschende Effekte werden dokumentiert Links- oder Rechtsshift Multiplikation oder Division keine Abkürzungen in Kommentaren Bugs und undokumentierte Features werden dokumentiert nahe beim betroffenen Code

13 Kommentierung & Dokumentation SE Programmierstil, Wind Markus, Wie wird kommentiert ? / Allgemein (3) Verletzungen im Programmierstil dokumentieren break zum Beenden von Schleifen beim Compilerbau schlechten Code neu schreiben anstatt kommentieren Kommentare konsistent halten

14 Kommentierung & Dokumentation SE Programmierstil, Wind Markus, Wie wird kommentiert ? / Einzelzeilen Gründe für kommentierte Einzelzeilen: komplexe Anweisung Fehlervermerk/Entwicklungsnotizen gute Eignung für Deklarationen Kennzeichnung von Blockbeginn und -ende

15 Kommentierung & Dokumentation SE Programmierstil, Wind Markus, Wie wird kommentiert ? / Blöcke Keine Einzelzeilenkommentare zur Blockbeschreibung Schwere Zuordenbarkeit

16 Kommentierung & Dokumentation SE Programmierstil, Wind Markus, Wie wird kommentiert ? / Funktionen allgemeine Beschreibung der Funktion Was tut die Funktion ? Einschränkungen I/O-Spezifikation globale Effekte Komplexe Beschreibung nicht für jede Funktion strCopy() nach obiger Definition überkommentiert

17 Kommentierung & Dokumentation SE Programmierstil, Wind Markus, Wie wird kommentiert ? / Deklarationen Einheiten werden kommentiert Bereiche werden kommentiert codierte Bedeutungen werden kommentiert Static final int NEW=1, MODIFY=2,...

18 Kommentierung & Dokumentation SE Programmierstil, Wind Markus, Wie wird kommentiert ? / Klassen gilt auch für Programme, Module, etc. von einem Top-View aus kommentieren Aufgabe Inhalt Nicht zu detailliert Kontaktinformationen

19 Kommentierung & Dokumentation SE Programmierstil, Wind Markus, Konsistenz und Automatisierung Schwer konsistent haltbare Informationen werden, wenn möglich, nicht kommentiert exportierte Funktionen Entwicklungsverlauf Abhängigkeiten... Automatisierungswerkzeuge

20 Kommentierung & Dokumentation SE Programmierstil, Wind Markus, interne/externe Dokumentation interne Dokumentation bleibt in der Firma / im Entwicklungsteam externe Dokumentation für den Anwender / Endkunden bestimmt

21 Kommentierung & Dokumentation SE Programmierstil, Wind Markus, Probleme von Dokumentationen Fachsprache schwer verständlich, lesbar Konsistenz nicht aktuell, unvollständig, widersprüchlich Gestaltung Layout, fehlendes Stichwortverzeichnis, etc.

22 Kommentierung & Dokumentation SE Programmierstil, Wind Markus, Funktionen einer Dokumentation (1) Anleitungsfunktion Produktpräsentation/Entscheidungsgrundlage Bedienungsanleitung Wartung und Weiterentwicklung der Software Kontroll- und Nachweisfunktion interne und externe Prüfung Kontrolle des Entwicklungsfortschritts

23 Kommentierung & Dokumentation SE Programmierstil, Wind Markus, Funktionen einer Dokumentation (2) Kommunikationsfunktion Basis für Entwickler, Auftraggeber/Auftragnehmer gesteigerte Wiederverwendbarkeit gesteigerte Vergleichbarkeit

24 Kommentierung & Dokumentation SE Programmierstil, Wind Markus, Entwicklungsprinzipien (1) entwicklungsbegleitende Dokumentation Benutzerorientierung Kommentierung Dokumentationswerkzeuge Zeitersparnis, Effizienz

25 Kommentierung & Dokumentation SE Programmierstil, Wind Markus, Entwicklungsprinzipien (2) grafische Darstellung Skizzen, Tabellen, etc. im Allgemeinen ER-Diagramme, UML, etc. im Entwicklungsbereich ansprechende Gestaltung Layout Index, Inhaltsverzeichnis, Querverweise Zusammenfassungen und Beispiele

26 Kommentierung & Dokumentation SE Programmierstil, Wind Markus, Layout von Dokumentationen (1) Gestaltungsmöglichkeiten sinnvoll nutzen Einsatz von Tabellen: effiziente Datenpräsentation Einheiten, Ausrichtung, Linien, etc. Informationen über verwendete Daten Konsistenz sicherstellen

27 Kommentierung & Dokumentation SE Programmierstil, Wind Markus, Layout von Dokumentationen (2) logische Gliederung Vernünftige Dimensionierung von grafischen Elementen Skizzen, Bilder, Diagramme, etc. Konsistente Verwendung der Layoutmöglichkeiten Schriftgröße für Kapitelüberschriften


Herunterladen ppt "Kommentierung & Dokumentation SE Programmierstil, Wind Markus, 2002. Überblick/Kommentierung Kommentierung Self-documenting code Arten von Kommentaren."

Ähnliche Präsentationen


Google-Anzeigen