Toter Code bzw. ungünstig formulierte Codeabschnitte

Datei Funktion bzw. genauere Lageangabe Beschreibung Bemerkung
m_topo.cpp TTopographySetParam::Dlg_OnCommand
Case Zweig cm_RotateMotor
Der hier vorgesehene Fall tritt niemals ein. Es ist zwar ein Rotationsknopf neben der Motorauswahl-Box vorgesehen, der diesen Case-Fall auslösen würde, dieser wird aber nicht im Programm angezeigt. Rotationsknopf ist vielleicht als Programmerweiterung vorgesehen.
m_steerg.cpp Funktion TSteeering::Visualising Die Variablen: b_id_Angle, b_id_PeakIntensity, b_id_Intensity und b_id_HalfWidth werden hier mit Werten belegt, aber es kommt nirgendwo zu einer Nutzung dieser Variablen. Kann gestrichen werden, dabei müssen aber Seiteneffekte auf die Aufrufstellen von TSteering::Visualising beachtet werden, da sich die Parameteranzahl ändern würde.
m_topo.cpp TTopographyExecute::Dlg_OnInit nMotor wird hier als Wert der aktive Motor zugewiesen, zuvor wurde jedoch der aktive Motor auf nMotor gesetzt. Kann eigentlich gestrichen werden.
m_topo.cpp TTopographyExecute::Dlg_OnCommand Unter cm_SwitchControl werden sowohl das Starten der Messung, als auch daß Ende betrachtet. Die Unterscheidung erfolgt anhand der Zustandsvariable bControlActive Anstelle der Unterscheidung anhand einer Zustandsvariablen, sollten hier besser zwei verschiedene Messages gewählt werden, die dann eine getrennte Behandlung der Ereignisse Start und Ende der Messung ermöglichen.
m_steerg.cpp Funktion TCmd::StartMove Hier wird 20 Millisekunden lang gewartet. Es ist nicht klar warum. Vielleicht muß nach Motorbewegungen gewartet werden? Falls es sich tatsächlich um eine Wartezeit aufgrund der Motorbewegung handelt, sollte diese direkt in der Motorfunktion angegeben werden.
m_steerg.cpp Klasse TControlFlankCmd Konstruktor Im Konstruktor werden zur Wertspeicherung der Intensität und der Distanz Felder mit der Größe vier angelegt. Bei den Berrechnungen werden jedoch nur die ersten zwei Feldwerte betrachtet. Die Größe der Felder sollte auf zwei verkleinert werden, um eineseits keinen unnötigen Speicheraufwand zu haben, und zum anderen das Programmverständnis zu erleichtern.
m_steerg.cpp Funktion TControlFlankCmd::ControlStep Im Fall 3 ist die Aktion auskommentiert -> hier hat wohl etwas nicht richtig funktioniert. Die Berechnungen zur Feststellung der Bewegungsrichtung werden nicht weiter verwendet Wenn dieser Fall nicht betrachtet werden soll, ist der Code für Fall 3 komplett zu streichen. Ansonsten muß diese Stelle überprüft werden und die nötige Aktion entsprechend implementiert werden.
m_topo.cpp Funktion TTopographyExecute::LeaveDialog Es wird mit KillTimer der Timer TimerIdInformation (399) gestoppt. Leider konnte ich nicht feststellen, wo dieser Timer gestartet wurde. Es ist unklar, in welchem Zusammenhang dieser Timer zur Topographie steht. Mit entsprechenden Beobachtungstools ( Systemüberwachung) müßte überprüft werden, ob dieser Timer für das Ausführen der Topographie eine Rolle spielt.
Ini-File (develop.ini) Topographie Abschnitt Folgende Angaben im Topographie Abschnitt werden niemals eingelesen:
  • ShotingTime
  • Failure
  • MultibleShot
Wo kommen diese Werte her? Wurde nur vergessen, sie einzulesen, oder stammen sie von einem Benutzer / einer Benutzerin?
m_steerg.cpp TGotoIntensityCmd Konstruktor Für die Intensität und die Distanz wird jeweils ein Feld der Größe drei angelegt. Es werden im weiteren Verlauf aber nur zwei Felder benötigt. Um Speicherplatz zu sparen und die Programmverstädlichkeit zu erhöhen, sollte die Anzahl der Felder auf zwei verringert werden.
 

 


03.11.2000 Marlies Gollnick gollnick@informatik.hu-berlin.de