Richtlinien für Punkteabzüge

Übersetzerbau, WS 2002 / 2003

Sehr grobe Vergehen => 0 Punkte für die gesamte UE (= nicht abgegeben) (kann ev. durch Rücksprache geändert werden)

  • Zweifel an Urheberschaft

Grobe Vergehen => 0 Punkte für die betroffene Aufgabe (kann ev. durch Rücksprache geändert werden)

  • ausgedruckter Quellcode fehlt
  • elektronisch abgegebener Quellcode lässt sich nicht compilieren
  • vorgegebene Testfälle lassen sich gar nicht ausführen oder melden Errors. (bei Failures siehe unten "Testen")
  • Lösung erfüllt die gestellte Aufgabe nicht

Programmierung (jeweils -1 bis -3 Punkte)

  • Klarheit der Lösung
  • Verfeinerung der Lösung
  • Unnötige Zuweisungen
  • "Toter" Programmcode
  • Umständliche Formulierungen (z.B. ... if (boolVar == true) ... )
  • Komplexität der Ausdrücke
  • Wahl der Datentypen (z.B. float statt int)
  • Nur verwendete Objekte deklarieren bzw. importierten
  • Wahl des Schleifentyps:
    • Schleifenlaufvariable nach Verlassen der Zählschleife (for) nicht mehr verwenden
    • Schleifenlaufvariable in der Zählschleife (for) nicht verändern

Testen => max. Abzug bis zu 80 %

  • Fehlerhafte Ergebnisse (Failures) beim JUnit-Testen.
    Hier werden Failures aus den vorgegebenen Testfällen strenger beurteilt als solche, die aus zusätzlichen (nur an die Tutoren ausgegebenen) Testfällen resultieren.

Programmierstil (bei Verstößen jeweils -1 Punkt)

  • Selbsterklärende Objektbezeichner
  • Optische Aufbereitung des Programmtextes (z. B. Einrückungen)
  • Ausreichende und sinnvolle Kommentierung (Qualität geht über Quantität)
  • Sinnvoller Einsatz benannter Konstanten
  • Sinnvolle Klammerung der Ausdrücke
  • Kein "Sprachen-Misch-Masch" Dt.-Eng. mischen (keine Punkte abziehen, nur anzeichnen)
  • Stilrichtlinien in etwa einhalten (höchstes Ziel ist aber Konsistenz)

Generell: Bei keiner einzelnen Aufgabe mehr Punkte abziehen, als vergeben werden können.