|
|
Review von Gruppe 9 durch Gruppe 10
|
 |
von Michael Hußmann, Markus Zarbock
(1) Beobachtungen beim Compilieren und Ausführen des Programmes
Negative Kritik
- Roboter durchlaufen Karten, andere Roboter und Wände (siehe Anhang).
- Roboter verlassen eigentliche Arena (siehe Anhang).
- Roboter werden scheinbar nicht neu initialisiert und alte Roboterlisten werden beibehalten?
- Items sind kaum zu unterscheiden:
- Lediglich die Wände und die Ausrichtung der Roboter ist gut zu erkennen.
- Der Ausgang, die Wurmlöcher und die Brunnen sind nicht unterscheidbar.
- Bei den Karten ist keine Unterscheidung der Farben möglich.
- Hellgrüner und türkisfarbener Roboter kaum zu unterscheiden.
- Hilfe nicht vorhanden.
- Roboter ohne Energie werden nicht gemeldet.
- Disqualifikation wird stets durch Spielkontrolle initiiert.
- Benutzer kann Roboter nur durch normales Entfernen aus dem Spiel nehmen (aber dann verschwindet Roboter auch aus Anzeige).
- Nach Disqualifikations-Aufruf wird Roboter völlig entfernt, müßte aber im Statistik-Fenster verbleiben.
- Überschreitung der 10 Sekunden führt nicht zur Disqualifikation aber zum Absturz.
- Keine Default Arena.
- Wenn nach Laden der Arena/der Roboter Intro aktiviert wird, ist unklar, wie es deaktiviert wird.
- Statistikteil wird langsam aktualisiert.
- Keine Meldung, wie Spiel beendet wurde (Ausgang, alle tot...).
- Zweimaliges Aufrufen des Grafikoptionen-Dialoges bringt enorme Verzögerung, Programm ist aber noch zu beenden.
Positive Kritik
- Roboter unserer Gruppe sind ladbar und laufen.
- Roboter Exception wird korrekt gefangen.
- Punktwertung entspricht Schnittstelle.
- Reihenfolge zufällig.
(2) Beobachtungen beim Code-Review
- Kartentausch nicht durch Thread von Spielkontrolle abgekoppelt, keine 10 Sekunden Prüfung.
- Aufruf von getCommand() auf RobotFunctions nicht durch Threads abgekoppelt.
- In jetziger Version schlechte Proxy-Integration.
- Illegale Aktionen werden mit Energieabzug geahndet, statt mit Disqualifikation (ArenaControl.java Z.428ff).
- Disqualifikation nur bei Zeitüberschreitung (wenn es denn funktionierte).
- Kartentauschmethodenaufrufe nicht in try-catch-Blöcke geklammert
- Kommentare:
- Bender42MainFrame.java:
- Klassendoku fehlt
- Methode sortit() StyleGuide verletzt
- methode actionPerformed fast 100 zeilen kein Kommentar
- Bender42RemoveRobotDialog.java:
- Bender42RobotData.java:
- Bender42ArenaControl.java:
- innere Klasse MapXMLHandler keine JavaDocs...
- Bender42Robot.java:
- KlassenDoku fehlt
- Datei in schrecklichem Zustande (Tabs Leerzeichen)
(3) Fragen nach denen wir das Programm untersuchten :
- (1) Fängt Arena Exceptions vom Roboter ab?
- Testroboter, der Exceptions erzeugte, wurde ordnungsgemäß entfernt.
- (2) Wie ist Exception-Handling im allgemeinen?
- (3) Ermöglicht Arena Mogeln?
- (4) Ist Arena gerecht zu allen Robotern?
- (5) Hat Roboter nebenläufige Threads?
- (6) Kann Roboter Arena verändern / verändert Arena sich?
- (7) Kann Roboter auf Arena zugreifen und sich globales Bild machen?
- (8) Reißt abgestürzter Roboter die Arena mit?
- (9) Werden Kommandos ädaquat ausgeführt und mögliche Fehler und Mogeln erkannt?
(4) Anhang
|
|