Programmieren I + II Regeln der Code-Formatierung

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

Übungen zu Programmieren - Code-Formatierung -

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java

Programmierpraktikum Java Entdecken Merkblatt 2

Java Lexikalische Struktur

Schöner Programmieren

Schöner Programmieren

Einführung in die Informatik

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

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

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)

Programmierkonventionen - 1 -

AuD-Tafelübung T-B5b

Institut für Programmierung und Reaktive Systeme 25. Januar Programmieren I. Übungsklausur

Einführung in die Informatik

Programmier-Richtlinien

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

Einführung in die Programmierung mit BlueJ

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)

Klausur Grundlagen der Programmierung

Technische Universität Braunschweig Institut für Programmierung und Reaktive Systeme

Sun s Java Code Conventions

II.1.1. Erste Schritte - 1 -

Coding-Standards und Dokumentation

Technische Universität Braunschweig Institut für Programmierung und Reaktive Systeme

Programmieren I. Dokumentation mit javadoc Heusch 10.4 Ratz Institut für Angewandte Informatik

Vorlesung Programmieren

Einstieg in die Informatik mit Java

C# - Einführung in die Programmiersprache Methoden. Leibniz Universität IT Services

II.1.1. Erste Schritte - 1 -

1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays)

II.1.1. Erste Schritte - 1 -

9. Programmierrichtlinien. K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2014/15

5 Grundlagen der Java-Syntax

Java - Programmierung - Prozedurale Programmierung 1

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

Martin Unold INFORMATIK. Geoinformatik und Vermessung

Institut für Programmierung und Reaktive Systeme 2. Februar Programmieren I. Übungsklausur

Vorlesung Programmieren

Martin Unold INFORMATIK. Geoinformatik und Vermessung

II.1.1. Erste Schritte - 1 -

Technische Universität Braunschweig Institut für Programmierung und Reaktive Systeme

Programmiertechnik Felder (Arrays)

Schachtelung der 2. Variante (Bedingungs-Kaskade): if (B1) A1 else if (B2) A2 else if (B3) A3 else if (B4) A4 else A

Java für Anfänger Teil 4: Anweisungen. Programmierkurs Manfred Jackel

Diana Lange. Generative Gestaltung Grundlagen von Processing

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

Technische Universität Braunschweig Institut für Programmierung und Reaktive Systeme

Grundlagen der Modellierung und Programmierung, Übung

Tel PHP-Coding-Guidelines PHP Coding-Guidelines 1. Ausgabe Oktober 2012

Java: Eine kurze Einführung an Beispielen

Technische Universität Braunschweig Institut für Programmierung und Reaktive Systeme

Java-Programmierung mit NetBeans

3. Anatomie eines imperativen Java- Programms

Martin Unold INFORMATIK. Geoinformatik und Vermessung

3. Anweisungen und Kontrollstrukturen

2. Unterprogramme und Methoden

Programmieren mit einem einfachen Klassenkonzept

1 Klassen anlegen und Objekte erzeugen

Java Referenzdatentypen genauer betrachtet

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML.

1 Klassen anlegen und Objekte erzeugen

Einführung in C. Alexander Batoulis. 5. Mai Fakutltät IV Technische Universität Berlin

Grundlagen der Programmierung Teil1 Einheit III Okt. 2009

JAVA - Methoden

Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 1 - Variablen und Kontrollstrukturen

Java-Schulung Grundlagen

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

Wiederholung Wozu Methoden? Methoden Schreiben Methoden Benutzen Rekursion?! Methoden. Javakurs 2012, 3. Vorlesung

Lernteam OOP3 SW Programmieren 1 - H1103 Felix Rohrer

Programmierstil in Java Coding-Standards und Dokumentation

pue13 January 28, 2017

hue12 January 24, 2017

Arbeitsblätter für die Lehrveranstaltung OOP JAVA 1

Programmiervorkurs. Wintersemester 2013/2014

Javakurs für Anfänger

EINFÜHRUNG IN DIE PROGRAMMIERUNG

Einstieg in die Informatik mit Java

Programmierung für Mathematik HS11

Grundlagen der Programmierung Teil1 Einheit III Okt. 2010

Klassenvariablen, Klassenmethoden

Praktische Informatik 1

Sprechen Sie Java? Hanspeter Mössenböck. Tm\ dpunkt.verlag. Eine Einführung in das systematische Programmieren

1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays)

Schleifen in C/C++/Java

Erste Java-Programme (Scopes und Rekursion)

JAVA - Methoden - Rekursion

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

Algorithmen und Programmierung III

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

EINFÜHRUNG IN DIE PROGRAMMIERUNG

Java-Applikationen (Java-Programme)

Teil 2: Weitere Aspekte der Objektorientierung

Technische Universität Braunschweig Institut für Programmierung und Reaktive Systeme

WS2018/ Oktober 2018

Transkript:

Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme WS 2016/2017, SS 2017 Programmieren I + II Regeln der Code-Formatierung In diesem Dokument finden Sie Regeln zur Code-Formatierung. Eine Datei, die für Ihr Programm einen Syntax-Check ausführen kann, finden Sie bei StudIP. Weitere Beispiele kann man z. B. auch dem Buch [1], S. 693 ff., entnehmen. 1. Einrückung Die Einrückung erfolgt ausschließlich mit einheitlich 4 Leerzeichen. Beispiel : 1 public s t a t i c void b e i s p i e l ( i n t x ) { System. out. p r i n t l n ( " Hallo Welt, das i s t e i n B e i s p i e l. " ) ; 3 System. out. p r i n t l n ( " x i s t k l e i n e r a l s 5 " ) ; 5 e l s e { System. out. p r i n t l n ( " x i s t g r o e s s e r a l s 5 " ) ; 7 Falsches public s t a t i c void b e i s p i e l ( i n t x ) { 2 System. out. p r i n t l n ( " Hallo Welt, das i s t e i n B e i s p i e l. " ) ; 4 System. out. p r i n t l n ( " x i s t k l e i n e r a l s 5 " ) ; e l s e { 6 System. out. p r i n t l n ( " x i s t g r o e s s e r a l s 5 " ) ; 8

2. Geschweifte Klammern Die öffnende Klammer kommt in dieselbe Zeile wie der Befehl, mit einem Leerzeichen Abstand. Die schließende Klammer kommt in eine eigene Zeile, eingerückt auf die Höhe des Befehls. Hinter der schließenden Klammer darf kein weiterer Befehl stehen. Eine Ausnahme ist die do-while-schleife, eine else-if-bedingung oder eine try-catch-anweisung. Es werden auch alle einzeiligen Befehle geklammert. public s t a t i c void b e i s p i e l ( i n t x ) { 2 System. out. p r i n t l n ( " Hallo Welt, das i s t e i n B e i s p i e l. " ) ; 4 System. out. p r i n t l n ( " x i s t k l e i n e r a l s 5 " ) ; e l s e i f ( x > 9) { 6 System. out. p r i n t l n ( " x i s t g r o e s s e r a l s 5 " ) ; e l s e { 8 System. out. p r i n t l n ( " x i s t zwischen 5 und 9 " ) ; 10 Falsches public s t a t i c void b e i s p i e l ( i n t x ) 2 { System. out. p r i n t l n ( " Hallo Welt, das i s t e i n B e i s p i e l. " ) ; 4 i f ( x < 5) { 6 System. out. p r i n t l n ( " x i s t k l e i n e r a l s 5 " ) ; 8 e l s e { 10 System. out. p r i n t l n ( " x i s t g r s s e r a l s 5 " ) ; 12 2

3. Nur ein Befehl pro Zeile Die Zeilen sollen nicht mehr als 120 Zeichen enthalten. Mehrere Befehle pro Zeile werden nicht akzeptiert. public s t a t i c void b e i s p i e l ( i n t x ) { 2 System. out. p r i n t l n ( " Hallo Welt, das i s t e i n B e i s p i e l. " ) ; 4 System. out. p r i n t l n ( " x i s t k l e i n e r a l s 5 " ) ; e l s e { 6 System. out. p r i n t l n ( " x i s t g r o e s s e r a l s 5 " ) ; 8 Falsches public s t a t i c void b e i s p i e l ( i n t x ) { 2 System. out. p r i n t l n ( " Hallo Welt, das i s t e i n B e i s p i e l. " ) ; System. out. p r i n t l n ( " x i s t k l e i n e r a l s 5 " ) ; 4 e l s e { System. out. p r i n t l n ( " x i s t g r o e s s e r a l s 5 " ) ; 6 3

4. Switch-Case-Block Der Switch-Case-Block wird einmal gesamt geklammert. Die Case-Anweisungen werden eingerückt. Die nachfolgenden Befehle werden jeweils in eine neue Zeile geschrieben und ebenfalls eingerückt. Außerdem ist ein default-case Pflicht. Vor jedem Case und dem Default steht eine Leerzeile. Ausnahme ist das erste Case, das sofort in der nächsten Zeile angefangen wird. switch ( i ) { 2 case 1 : System. out. p r i n t l n ( " i i s t : " + i ) ; 4 i = 9 9 ; break ; 6 case 2 : 8 System. out. p r i n t l n ( " i i s t : " + i ) ; i = 9 9 ; 10 break ; 12 default : System. out. p r i n t l n ( " d e f a u l t Case " ) ; 14 Falsches switch ( i ) { 2 case 1 : System. out. p r i n t l n ( " i i s t : " + i ) ; 4 i= 9 9 ; break ; 6 case 2 : System. out. p r i n t l n ( " i i s t : " + i ) ; i= 9 9 ; break ; 8 5. Klassennamen Die Klassennamen beginnen immer mit einem Großbuchstaben. Zahlen, Sonderzeichen oder Schlüsselwörter sind nicht erlaubt. Setzen sich Klassennamen aus mehreren Wörtern zusammen, so sind diese in CamelCase zu schreiben, also jeweils auch wieder groß zu beginnen. Beispiele: TestClass Katze HelloWorld 4

6. JavaDoc-Kopf Jede Klasse und jedes Interface ist mit einem JavaDoc-Kopf zu versehen. Der JavaDoc- Kopf enthält eine Beschreibung der Klasse und zusätzlich noch den Parameter @author. Hinter dem @author stehen noch Vorname, Name, Matrikelnummer und Gruppe aller mitwirkenden Programmierer. Der Parameter @version wird empfohlen, ist aber keine Pflicht. 1 / Dies i s t e i n Klassenkommentar. 3 Es s o l l d i e Klasse b e s c h r e i b e n. 5 @author Max Mustermann 1234567 Gruppe 0a @author Michaela von Musterfrau 0123456 Gruppe 0a 7 / 7. Methoden- und Variablennamen Die Namen der Methoden oder Variablen beginnen immer mit einem Kleinbuchstaben. Setzt sich ein Name aus mehreren Wörtern zusammen, so ist wieder das CamelCase anzuwenden. Beispiele: 1 i index helloworld a n z L i s t e Die Klammern eines Arrays werden direkt hinter den Typ geschrieben. Beispiele: 1 S t r i n g [ ] a ; MeineKlasse [ ] b ; 8. Konstanten Die Konstanten werden ausschließlich mit Großbuchstaben bezeichnet. Bei mehreren Teilwörtern ist ein Unterstrich zu verwenden. Beispiele: MAXIMUM MIN_VALUE PI NEUE_KONSTANTE 5

9. Sprache und Namensgebung Die Sprache der Variablen- und Methodennamen sowie der Kommentare sind einheitlich zu wählen. Die Namensgebung ist so zu wählen, dass aus dem Bezeichner eindeutig zu erkennen ist, wozu diese Variable eingesetzt wird. Als Sprache ist entweder Deutsch oder Englisch zu wählen und dann konsequent zu benutzen, wobei allerdings Variablen auf Englisch und Kommentare auf Deutsch erlaubt wären. 1 i a n z L i s t e f a r b e name Falsches 1 a1 a2 a3 a4 f a r b e s i z e 10. Umlaute und sprachspezifische Sonderzeichen Bitte benutzen Sie keine Sonderzeichen wie z. B. ä, ü, ö, æ oder å. 1 g r o e s s e o e f f n e n s c h l i e s s e n ueber Verwenden Sie (bitte) diese Umlaute und sprachspezifischen Sonderzeichen auch nicht in Kommentaren. 6

11. Kommentare Einzeilige Kommentare werden in eine Zeile geschrieben und mit // eingeführt. Mehrzeilige stehen direkt vor einem Codefragment und werden mit /* eingeführt und mit */ beendet. Jede Methode ist mit einem JavaDoc-Kommentar zu versehen, der mindestens @param und @return enthalten muss (sofern Werte übergeben werden oder ein Rückgabewert existiert). Auch Klassen- und Instanzvariable sollen einen JavaDoc-Kommentar erhalten. Eingeführt wird ein JavaDoc-Kommentar mit /** und mit */ beendet. Beispiel einzeiliger Kommentar: 1 public void b e i s p i e l ( i n t x ) { System. out. p r i n t l n ( " Hallo Welt, das i s t e i n B e i s p i e l. " ) ; 3 // Ueberpruefung, ob x k l e i n e r a l s 5 i s t System. out. p r i n t l n ( " x i s t k l e i n e r a l s 5 " ) ; 5 e l s e { System. out. p r i n t l n ( " x i s t g r o e s s e r a l s 5 " ) ; 7 Beispiel mehrzeiliger Kommentar: public void b e i s p i e l ( i n t x ) { 2 System. out. p r i n t l n ( " Hallo Welt, das i s t e i n B e i s p i e l. " ) ; / 4 Ueberpruefung ob x k l e i n e r a l s 5 i s t 6 / 8 System. out. p r i n t l n ( " x i s t k l e i n e r a l s 5 " ) ; e l s e { 10 System. out. p r i n t l n ( " x i s t g r o e s s e r a l s 5 " ) ; 12 7

Beispiel JavaDoc Kommentar: / 2 Diese Methode i s t eine Beispielmethode und u e b e r p r u e f t, ob x g r o e s s e r i s t a l s 5 4 @param x und d i e Beschreibung zu x @return Einen S t r i n g mit dem Ergebnis ( " g r o e s s e r k l e i n e r " ) 6 / public S t r i n g b e i s p i e l ( i n t x ) { 8 System. out. p r i n t l n ( " Hallo Welt, das i s t e i n B e i s p i e l. " ) ; 10 System. out. p r i n t l n ( " x i s t k l e i n e r a l s 5 " ) ; return " k l e i n e r " ; 12 e l s e { System. out. p r i n t l n ( " x i s t g r o e s s e r a l s 5 " ) ; 14 return " g r o e s s e r " ; 16 oder / 2 Diese Methode i s t eine Beispielmethode und u e b e r p r u e f t, ob x g r o e s s e r i s t a l s 5 4 @param x und d i e Beschreibung zu x @return Einen S t r i n g mit dem Ergebnis ( " g r o e s s e r k l e i n e r " ) 6 / public S t r i n g b e i s p i e l ( i n t x ) { 8 System. out. p r i n t l n ( " Hallo Welt, das i s t e i n B e i s p i e l. " ) ; 10 System. out. p r i n t l n ( " x i s t k l e i n e r a l s 5 " ) ; return " k l e i n e r " ; 12 e l s e { System. out. p r i n t l n ( " x i s t g r o e s s e r a l s 5 " ) ; 14 return " g r o e s s e r " ; 16 12. Weitere Beispiele für Code-Fragmente a) for-anweisung, einzeilig: for (i = 0; i < 50; i++) { System.out.println(i); 8

b) for-anweisung, mehrzeilig: for (i = 0; i < 50; i++) { System.out.println(i); System.out.println(2 * i); c) if-anweisung, einzeilig: if (i < 10) { i = 10; else if (i > 100) { i = 100; else { System.out.println("Alles O.K."); d) if-anweisung, mehrzeilig: Die Leerzeichen im folgenden Beispiel sind Pflicht. if (i < 10) { System.out.println("Erhöhe i"); i = 10; else if (i > 100) { System.out.println("Erniedrige i"); i = 100; else { System.out.println("Alles O.K."); System.out.println("Keine Änderungen"); e) try-catch-block: try { i = i / j; catch (ArithmeticException e) { System.out.println("Achtung: j == 0"); i = 100; finally { System.out.println("Fertig"); 9

f) switch-anweisung: switch(i) { case 1: j = 17; break; case 2: j = 23 break; default: j = 0; g) do-while-schleife, einzeilig: do { System.out.println(i++); while (i < 10); h) do-while-schleife, mehrzeilig: do { i = i + 1; System.out.println(i); while (i < 10); i) Variablendeklaration: int i = 0; int[] a; String name = "Werner"; Object objekt = new Object(); j) Klassendeklarationen: public class KlassenName { //... k) Konstantendeklarationen: Literatur public static final int MINIMUM = 10; [1] Ratz, Dietmar; Scheffler, Jens; Seese, Detlef; Wiesenberger, Jan: Grundkurs Programmieren in Java. 7. überarbeitete und erweiterte Auflage. München Wien: Hanser Verlag, 2014 10