Praxis 3 PDF

prox
Mausschubser
Mausschubser
Beiträge: 87
Registriert: 14. Apr 2015 19:38

Praxis 3 PDF

Beitrag 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

hololol2
Endlosschleifenbastler
Endlosschleifenbastler
Beiträge: 154
Registriert: 27. Apr 2015 14:13

Re: Praxis 3 PDF

Beitrag von hololol2 »

Du sollst pro Methode nur 10 Zeilen schreiben

Felix Sternkopf
Mausschubser
Mausschubser
Beiträge: 77
Registriert: 21. Apr 2015 23:09

Re: Praxis 3 PDF

Beitrag von Felix Sternkopf »

Nicht Zeilen, sondern Statements :)

Ben Kohr
Windoof-User
Windoof-User
Beiträge: 34
Registriert: 14. Apr 2015 17:41

Re: Praxis 3 PDF

Beitrag 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?

Prof. Karsten Weihe
Dozentin/Dozent
Beiträge: 1824
Registriert: 21. Feb 2005 16:33

Re: Praxis 3 PDF

Beitrag 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

prox
Mausschubser
Mausschubser
Beiträge: 87
Registriert: 14. Apr 2015 19:38

Re: Praxis 3 PDF

Beitrag 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 ?

Prof. Karsten Weihe
Dozentin/Dozent
Beiträge: 1824
Registriert: 21. Feb 2005 16:33

Re: Praxis 3 PDF

Beitrag 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

Ben Kohr
Windoof-User
Windoof-User
Beiträge: 34
Registriert: 14. Apr 2015 17:41

Re: Praxis 3 PDF

Beitrag 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

hololol2
Endlosschleifenbastler
Endlosschleifenbastler
Beiträge: 154
Registriert: 27. Apr 2015 14:13

Re: Praxis 3 PDF

Beitrag 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.

Felix Sternkopf
Mausschubser
Mausschubser
Beiträge: 77
Registriert: 21. Apr 2015 23:09

Re: Praxis 3 PDF

Beitrag 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

MikMik
Mausschubser
Mausschubser
Beiträge: 53
Registriert: 24. Apr 2015 18:56

Re: Praxis 3 PDF

Beitrag von MikMik »

Gilt der Funktionskopf mit Namen der Funktion und Aufrufparameter etc auch als ein Statement?

prox
Mausschubser
Mausschubser
Beiträge: 87
Registriert: 14. Apr 2015 19:38

Re: Praxis 3 PDF

Beitrag von prox »

MikMik hat geschrieben:Gilt der Funktionskopf mit Namen der Funktion und Aufrufparameter etc auch als ein Statement?
ich denke nicht

Antworten

Zurück zu „Archiv“