Programmier-Richtlinien

Ähnliche Dokumente
Programmieren I + II Regeln der Code-Formatierung

Programmieren I + II Regeln der Code-Formatierung

AuD-Tafelübung T-B5b

Programmierpraktikum Java Entdecken Merkblatt 2

Programmierkonventionen - 1 -

Schöner Programmieren

Schöner Programmieren

Einstieg in die Informatik mit Java

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 29

Einstieg in die Informatik mit Java

Dokumentationskonzept

Sun s Java Code Conventions

Einstieg in die Informatik mit Java

Klausur Grundlagen der Programmierung

Java Lexikalische Struktur

Übungen zur Vorlesung Wissenschaftliches Rechnen I

Übungen zu Programmieren - Code-Formatierung -

Programmierung für Mathematik HS11

Institut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke

5 Grundlagen der Java-Syntax

Inhaltsverzeichnis. Grundlagen und Einführung (1. Band) 1

Programmierkurs Python I

Gedächtnis. Während der Abarbeitung eines Algorithmus müssen sich Dinge gemerkt werden bzw. auf Dingen wird gerechnet. Zugriff.

Praktikum. SEP: Java-Programmierung SS Programmierstil. Karlheinz Friedberger und Thomas Bunk

S. d. I.: Programieren in C Folie 4-1. im Gegensatz zu Pascal gibt es in C kein Schlüsselwort "then"

Organisatorisches. drei Gruppen Gruppe 1: 10:10-11:40, Gruppe 2: 11:45-13:15 Gruppe 3: 13:20-14:50

Organisatorisches. Neue Übungsblätter: Nur mehr elektronisch? Abgabe Di, , 14 Uhr bis Do, , 8Uhr

Äußere Form ArrayList Vererbung API. Einführung in Java. Arne Hüffmeier. Michelle Liebers, Dennis Hoffmann. Tilman Lüttje, Jean Wiele

Programmierrichtlinien für C/C++

Einführung in die Programmierung I. 2.0 Einfache Java Programme. Thomas R. Gross. Department Informatik ETH Zürich

javascript Coding-Guidelines 2. Ausgabe Februar 2015 Der Guideline beschreibt den verwendeten Coding-Stil von javascript als eigene Richtline.

1 Klassen anlegen und Objekte erzeugen

1 Klassen anlegen und Objekte erzeugen

Vorkurs Informatik WiSe 16/17

Prinzipien der Softwareentwicklung S. Strahringer

Objektorientierung. Marc Satkowski 20. November C# Kurs

Vorkurs Informatik WiSe 17/18

Die Klasse MiniJava ist in der Datei MiniJava.java definiert:

swp12-6 Aufgabenblatt Qualita tssicherungskonzept

Programmierkurs Python I

Martin Unold INFORMATIK. Geoinformatik und Vermessung

Elementare Konzepte von

1 Aufgaben 1.1 Umgebungsvariable setzen: CLASSPATH

Java I Vorlesung Imperatives Programmieren

7. Objektorientierung. Informatik II für Verkehrsingenieure

Überblick. R.Grossmann / P. Sobe 1

Programmieren I. Dr. Klaus Höppner. Hochschule Darmstadt Wintersemester 2009/ / 22

Begriffe 1 (Wiederholung)

Aufbau von Klassen. class punkt {...

3. Anatomie eines imperativen Java- Programms

Java Zusammenfassung. Basisdatentypen ganzzahlig: Byte, Short, Integer, Long Fließkomma: Float, Double Zeichen: Character Wahrheitswerte: Boolean

Formalrichtige Darstellung der Elemente des Informatikunterrichts am Joseph-König-Gymnasium Haltern am See

Angewandte Mathematik und Programmierung

Entwicklungsrichtlinien. 6. Mai 2015

Javakurs für Anfänger

Coding-Standards und Dokumentation

Überblick. 5. Objekt und Klasse, Elementfunktionen

Themen. Formatierte und unformatierte Eingabe Bedingungsoperator Namespaces Kommandozeilenargumente

Teil 5 - Java. Programmstruktur Operatoren Schlüsselwörter Datentypen

Tag 7 Repetitorium Informatik (Java)

Implementieren von Klassen

3.2 Datentypen und Methoden

Einführung in die Programmiertechnik

Repetitorium Informatik (Java)

C++ - Objektorientierte Programmierung Konstante und statische Elemente

Übungsklausur Programmieren / Algorithmen und Datenstrukturen 1

Javaprogrammierung mit NetBeans. Variablen, Datentypen, Methoden

Programmierstil in Java Coding-Standards und Dokumentation

Anleitung Anleitung Anleitung Anleitung Anleitung Anleitung Anleitung Anleitung Anleitung

EINFÜHRUNG IN DIE PROGRAMMIERUNG

PROCESSING EINE ZUSAMMENFASSUNG. Created by Michael Kirsch & Beat Rossmy

3.1 Reservierte Wörter

Qualitätssicherungskonzept

Klassen und Objekte. Einführung in Java. Folie 1 von Mai Ivo Kronenberg

Martin Unold INFORMATIK. Geoinformatik und Vermessung

2 Programmieren in Java I noch ohne Nachbearbeitung

C++ - Objektorientierte Programmierung Konstruktoren und Destruktoren

Sprachkonstrukte. Einführung in Java. Folie 1 von Mai Ivo Kronenberg

Herzlich willkommen!

Arithmetik in der tcsh

Prof. W. Henrich Seite 1

Ursprünge. Die Syntax von Java. Das Wichtigste in Kürze. Konsequenzen. Weiteres Vorgehen. Rund um Java

Arbeiten mit JavaKara

Transkript:

Programmier-Richtlinien vgl. auch http://java.sun.com/docs/codeconv/

Bemerkung o Programme werden häufiger gelesen als geschrieben o Programmtexte müssen gut lesbar und nachvollziehbar sein Feststellung Bemerkung Nicht die konkrete Ausprägung der Programmier- Richtlinien sondern ihr generelles Vorliegen ist wichtig 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 [Balzert 2001, S. 1068ff] 2

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 3

Klassenbezeichner, Interfacebezeichner o Klassen und Interfaces werden durch Substantive im Singular bezeichnet o Klassen- und Interfacebezeichner beginnen mit Grossbuchstaben class DigitalLibrary; interface Collection; Attributbezeichner o Attribute werden durch Substantive mit evtl. vorangestelltem Adjektiv im Singular bezeichnet o Attributbezeichner beginnen mit einem Kleinbuchstaben int i; Author theauthor; float currentspeed; 4

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" get" " oder "set" set" benannt setname(); getname(); printname(); 5

Konstantenbezeichner o Konstanten werden durch Substantive in GROSSBUCHSTABEN beschrieben o Teilworte werden durch "_" voneinander getrennt int MAX_AUTHORS = 5; int MIN_WIDTH = 4; o generell sind sinnvoll bezeichnete Konstanten der Verwendung konstanter Werte vorzuziehen o bessere Lesbarkeit o höhere Wartungsfreundlichkeit 6

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 Bemerkung die Komponenten sind in der angegebenen Reihenfolge zu notieren 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 7

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 int i; o eine Variable deklariert werden o ein Programmstatement notiert werden o Leerzeilen trennen i++; o Variablen von Methoden j --; o Methoden von Methoden o (lokale) Variablen vom ersten Programmstatement o Leerzeichen trennen o Schlüsselworte von "(" o Operanden von Operatoren (außer ".") int j; while (i!= 5) { 8

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

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 10

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 o o im Code o o Anforderungen an Eingabedaten Anforderungen an Ausgabedaten (incl. Bezug zu Eingabedaten) ist jede Schleife durch ihre Invariante zu dokumentieren ist jeder else-teil einer Verzweigung mit dem hier zutreffenden Prädikat zu kommentieren 11