16
Programmiermethodik Übung 12 Best practices

Programmiermethodik Übung 12 Best practices. Musterlösung Übung 10

Embed Size (px)

Citation preview

Page 1: Programmiermethodik Übung 12 Best practices. Musterlösung Übung 10

ProgrammiermethodikÜbung 12

Best practices

Page 2: Programmiermethodik Übung 12 Best practices. Musterlösung Übung 10

Musterlösung Übung 10

Page 3: Programmiermethodik Übung 12 Best practices. Musterlösung Übung 10

Musterlösungen Übung 10

Page 4: Programmiermethodik Übung 12 Best practices. Musterlösung Übung 10

Musterlösung Übung 10

Page 5: Programmiermethodik Übung 12 Best practices. Musterlösung Übung 10

Musterlösung HA 10

1) Richtig sind a, c, d, e

b: discs einmal in die falsche Richtung

f: Disc kann nicht auf Post liegen2) 4) (Alternativen möglich)

3) Richtig ist nur a

b: Nodes können keine Nodes haben, kein name

c: Node erbt nicht von Item

d: Nodes können keine Nodes haben

Page 6: Programmiermethodik Übung 12 Best practices. Musterlösung Übung 10

Geschicktes Design vereinfacht Code

Klassendiagramm:

Aktivität:

Page 7: Programmiermethodik Übung 12 Best practices. Musterlösung Übung 10

Aber Design sollte auch ‚sinnvoll‘ sein

Page 8: Programmiermethodik Übung 12 Best practices. Musterlösung Übung 10

Macht, wenn man nicht aufpasst, den Code komplizierter

Page 9: Programmiermethodik Übung 12 Best practices. Musterlösung Übung 10

Anforderungen vereinen

In diesem Fall hilft Vererbung:

Eine Scheibe liegt nun auf einem Teil, das eine weitere Scheibe oder ein Stab sein kann

Page 10: Programmiermethodik Übung 12 Best practices. Musterlösung Übung 10

Code wieder einfacher

Page 11: Programmiermethodik Übung 12 Best practices. Musterlösung Übung 10

Modellierungsaternativen

• „Wenn keine Scheibe über der aktuellen ist“

Page 12: Programmiermethodik Übung 12 Best practices. Musterlösung Übung 10

Modellierungsaternativen

• „Wenn keine Scheibe über der aktuellen ist“

Wenn nicht mind. eine Scheibe über der aktuellen ist

Page 13: Programmiermethodik Übung 12 Best practices. Musterlösung Übung 10

Modellierungsaternativen

• „Wenn keine Scheibe über der aktuellen ist“

Page 14: Programmiermethodik Übung 12 Best practices. Musterlösung Übung 10

Modellierungsaternativen

• „Wenn keine Scheibe über der aktuellen ist“

if ( aktuelleScheibe.getAbove() == null )

{

// weiter

}

// ende

if ( aktuelleScheibe.sizeOfAbove() == 0 )

{

// weiter

}

// ende

Page 15: Programmiermethodik Übung 12 Best practices. Musterlösung Übung 10

Praxisteil

• Installiere Fujaba 5.0.4 final• Es soll eine verkettete Liste programmiert werden, in der

Dateien und Ordner abgelegt werden können. Beispiel:

• Fujaba macht daraus dieses ungeschickte Klassendiagramm:

• Entwerfe ein geschickteres Klassendigramm mit Vererbung und implementiere die Methode Datei::fügeHintenAn(Datei erstesListenElement)

– die an das Ende der Liste läuft und dort die Datei ‚this‘ anfügt

Page 16: Programmiermethodik Übung 12 Best practices. Musterlösung Übung 10

Praxisteil

• Zusatzaufgabe:– Füge ein Attribut ‚size: Integer‘ hinzu– Implementiere einen Sortieralgorithmus deiner

Wahl, der nach Datei-/Ordergröße sortiert– Beeindrucke die Betreuer mit deiner Lösung