Seite 1 von 1

Praxis 3 PDF

Verfasst: 12. Mai 2015 13:20
von prox
Hallo,

in der PDF für das dritte Praktikum steht folgendes, was ich nicht verstehe:
To make your code clearly arranged, your methods should not have more than 10 statements, this is also important
for your attestation. In task 4 you can write more than 10 statements with documented reasons in JavaDoc of method
insertPoint(Point p).
Was ist damit gemeint ? :D

Danke und Grüße

Re: Praxis 3 PDF

Verfasst: 12. Mai 2015 13:49
von hololol2
Du sollst pro Methode nur 10 Zeilen schreiben

Re: Praxis 3 PDF

Verfasst: 15. Mai 2015 21:15
von Felix Sternkopf
Nicht Zeilen, sondern Statements :)

Re: Praxis 3 PDF

Verfasst: 16. Mai 2015 18:10
von Ben Kohr
Mit "Statements" sind doch nur (abgeschlossene) Befehle gemeint, d.h solche mit Semikolon am Ende, oder? Verstehe ich das richtig, dass folglich Schleifen, if-Bedingungen oder ähnliche Konstrukte keine Statements sind?

Re: Praxis 3 PDF

Verfasst: 16. Mai 2015 23:15
von Prof. Karsten Weihe
Ben Kohr hat geschrieben:Mit "Statements" sind doch nur (abgeschlossene) Befehle gemeint, d.h solche mit Semikolon am Ende, oder? Verstehe ich das richtig, dass folglich Schleifen, if-Bedingungen oder ähnliche Konstrukte keine Statements sind?
Doch, siehe http://de.wikipedia.org/wiki/Anweisung_(Programmierung).

Mit Semikolon werden "simple statements" abgeschlossen (in C, C++ und Java).

KW

Re: Praxis 3 PDF

Verfasst: 17. Mai 2015 12:12
von prox
Felix Sternkopf hat geschrieben:Nicht Zeilen, sondern Statements :)
Das heißt also, ich darf nur 10 Statements (wie z.B. if, for, while, ...) verwenden. Habe ich das richtig verstanden ?

Re: Praxis 3 PDF

Verfasst: 17. Mai 2015 12:35
von Prof. Karsten Weihe
prox hat geschrieben:
Felix Sternkopf hat geschrieben:Nicht Zeilen, sondern Statements :)
Das heißt also, ich darf nur 10 Statements (wie z.B. if, for, while, ...) verwenden. Habe ich das richtig verstanden ?
Könnten Sie sich mit folgender Formulierung als informeller Faustregel(!) anfreunden: Wenn Sie Ihren Java-Code auf die übliche, leicht überschaubare Weise formatieren und keine unsauberen Tricks der Form "while ( *p++ = *q++ );" machen, dann ist tatsächlich Zeile = Statement (natürlich exklusive Leerzeilen, reine Kommentarzeilen und Zeilen mit nur einer Klammer u.ä.).

P.S.: Mein Beispiel stammt aus C, nicht aus Java; C ist halt immer wieder gut für besonders extreme Negativbeispiele. 8)

KW

Re: Praxis 3 PDF

Verfasst: 17. Mai 2015 14:31
von Ben Kohr
Hallo,

ok, danke für die Antwort(en)!
Eine kleine Frage habe ich noch:
"In task 4 you can write more than 10 statements with documented reasons in JavaDoc of method
insertPoint(Point p)."

Bedeutet das, dass ich beliebig viele Statements benutzen darf, wenn ich dies begründe?
Von welcher Art soll die Begründung sein (z.B. bezüglich Verständlichkeit, Kompaktheit oder bezüglich anderer Gründe)?

Ben

Re: Praxis 3 PDF

Verfasst: 18. Mai 2015 11:24
von hololol2
Ben Kohr hat geschrieben:Hallo,

ok, danke für die Antwort(en)!
Eine kleine Frage habe ich noch:
"In task 4 you can write more than 10 statements with documented reasons in JavaDoc of method
insertPoint(Point p)."

Bedeutet das, dass ich beliebig viele Statements benutzen darf, wenn ich dies begründe?
Von welcher Art soll die Begründung sein (z.B. bezüglich Verständlichkeit, Kompaktheit oder bezüglich anderer Gründe)?

Ben
Natürlich solltest du trotzdem keine ewig langen Methoden schreiben. Der Sinn der 10-Statement-Begrenzung ist eine SINNVOLLE Aufteilung auf Hilfsmethoden. Dies kann Methoden übersichtlicher machen, vor allem bei mehrfacher Verwendung der Hilfsmethoden. Bei Task 4 wurde beim Testen festgestellt, dass hier diese Begrenzung nicht unbedingt Sinn macht, weil die insertPoint() relativ viel zu tun hat und nur schwer aufzuteilen ist. Und eine Aufteilung auf mehrere Metoden macht nur eingeschränkt Sinn, wenn sie nur geschieht, weil sie vorgeschrieben ist.
Der Sinn der Begrenzung ist euch zu übersichtlichem Code zu "zwingen", allerdings würde dies bei insertPoint() den Code eher unübersichtlicher machen.

Übrigens: Die Begrenzung ist auch für das Testat extrem hilfreich, da
1) Einfach, kurze Methoden einfacher zu überblicken sind.
2) Durch (sinnvolle) Methodennamen eine Art Kommentierung erfolgt, die garantiert nicht gelöscht wird.

Re: Praxis 3 PDF

Verfasst: 18. Mai 2015 13:01
von Felix Sternkopf
In Task 4 ist das Problem, dass man eigentlich nur stupide Pointer verschiebt oder neu setzt, wenn man es schnell löst und verstanden hat wie die Datenstruktur funktioniert.

Da es meiner Meinung nach keinen Sinn man 20 SingleStatements auszulagern in 2 Hilfsmethoden, wäre das ein Grund hier alles in 20 Singlestatements in die insertMethode zu schreiben.
Das wäre dann auch ein "documented reason", sprich in einem kleinen Kommentar am Anfang der Methode.

Felix

Re: Praxis 3 PDF

Verfasst: 14. Jun 2015 16:17
von MikMik
Gilt der Funktionskopf mit Namen der Funktion und Aufrufparameter etc auch als ein Statement?

Re: Praxis 3 PDF

Verfasst: 14. Jun 2015 18:00
von prox
MikMik hat geschrieben:Gilt der Funktionskopf mit Namen der Funktion und Aufrufparameter etc auch als ein Statement?
ich denke nicht