Protokoll 2010-09-29 Review
Codereview Qais Protokoll
- Auf Code angewendet: Findbugs, projectusus (von Andrena)
- Ins Wiki: Findbugs vorher selbst anwenden
- Idee: Konventionen überdenken und automatisieren -> Qualitätssicherungsbeauftragte. Weiterhin checks in Build aufnehmen?
Installation
- hat lange gedauert
- Johannes und Zoya auf Code fokussiert (gar nicht zum Laufen gebracht)
- Eigentlich besser, man braucht es nicht ausprobieren. Nur als Option.
- Installation von R im Wiki ist nicht mehr aktuell. RJava wird in Applikationsverzeichnis installiert bei install packages, nicht im R Pfad, wenn man es ohne Adminrechte installiert.
- LQN: Den Hinweis auf hard coded path in LQN mehr highlighten.
Code Review
QML Modell
- generiert, deswegen ist Qualität vom generierten Code nicht so wichtig (auch Findbugs könnte Fehler finden, die nicht relevant sind, braucht man nicht damit untersuchen).
- Editor: Tree editor anpassen dass er die Ids anzeigt. Kann man auch im Genmodel anpassen: Label feature (o.ä.) von id auf name im genmodel umstellen. Besser: PalladioProviderDings, für Sachen die von Entity erben.
- Philipp nochmal auf id draufschauen.
Opt4J
- high priority rank: Objective.java: Nicht von uns.
- War unklar, welche Teile neu sind (Objective eigentlich kaum).
QML reader
PerOpteryx-Teil
- AnalysisProxy:123: ana==null muss es heißen. -> Anne
- QMLBoundDependentTacticsManager: Is fulfilled hohe cyclomatische Komplexität, d.h. viele mögliche Pfade durch die Methode. Sollte man generell vermeiden, manchmal auch nicht anders möglich. Was man noch machen könnte is fulfilled = <condition> oder besser jeweils return <condition>. Andererseits will man auch nicht zuviele returns haben.
- PCMDeclarationReader: Facade für das Zugreifen auf den QML Baum? Eher
- Welche Funktionen hat die Klasse? Zwei Funktionalitäten in zwei Klassen aufteilen. Einlesen direkt aus File ist schon in QMLDeclarationsReader. Daher PCMDeclarationsReader eigentlich kein Reader in Qais' Sinne.
- Warum heißt LQNQualityAttribute nicht ResponseTimeQualityAttribute? Warum teilen sich die Klassen es nicht?
- Momentan können sie dasselbe. Aber SimuCom kann auch Perzentile, daher muss es noch erweitert werden.
- Komisch dass Cost- und Reliability- nach dem Quality Attribute benannt sind, und das andere LQN und SimuCom. Liegt aber daran, dass die anderen Evaluatoren keine Namen haben. Namen erfinden?
- LQNS und LQSim können verschiedene Aspekte von Qualitätsattributen? Anne prüfen.
- Config: Usagemodel könnte man auch weglassen, da es sich aus der QML declaration ergibt? Wenn nicht, müsste man in der QML Declaration nochmal prüfen, welche UsageScenarien aus der Declaration eigentlich in dem gewählten Usagemodel enthalten sind.
- qualityAttribute als Konstante groß schreiben.