> Projekt: Software-Sanierung > Entwicklerdokumentation > Tabelle zu den Entwicklerdokumenten > Gesamtsystem > Implementation > Toter Code

Toter Code: Ergebnisse mit SNiFF und McCabe


Autor: Stefan Luetzkendorf
Datum: 15.06.99
-------------------------------------------------------------------------
Sein Anschreiben zu dem Dokument:

Hallo,

als attachment eine liste von nicht benutzten funktionen (knapp 90) und
nicht benutzten bzw. nicht implementierten klassen und strukturen (7
und 4) die ich mit Hilfe vom mccabe-tool und sniff zusammengestellt habe.

ich denke da sind auch einige unsichere kandidaten drin.

die funktionen sind etwa zur haelfte get/set-methoden, so das damit im
wesentlichen nur die schnittstellen reduziert werden. 
der rest ist erstmal schwer einzuschaetzen.

beste gruesse
stefan lueztkendorf
------------------------------------------------------------------------

Toter Code (statisch)


globale Funktionen (19)
====================

c_layer.h:float WINAPI GetIntensity_A913 (void);
c_layer.h:float WINAPI GetIntensity_SCS (void);
c_layer.h:float WINAPI GetIntensity_TDC (void);

c_layer.h:BOOL WINAPI InitializeTDC_Event (float,HWND);

c_layer.h:void CALLBACK InquireIntensity_A913 (UINT,UINT,DWORD,DWORD,DWORD);
c_layer.h:void CALLBACK InquireIntensity_SCS (UINT,UINT,DWORD,DWORD,DWORD);
c_layer.h:void CALLBACK InquireIntensity_TDC (UINT,UINT,DWORD,DWORD,DWORD);
(wird in InitializeTDC_Event als callback registriert)

c_layer.cpp:int CALLBACK WEP(int)

l_layer.h:double WINAPI maxd (double,double);
l_layer.h:float WINAPI maxf (float,float);
l_layer.h:int WINAPI maxi (int,int);
l_layer.h:long WINAPI maxl (long,long);
l_layer.h:double WINAPI mind (double,double);
l_layer.h:float WINAPI minf (float,float);
l_layer.h:int WINAPI mini (int,int);
l_layer.h:long WINAPI minl (long,long);

l_layer.h:LPSTR WINAPI UnitStr (TUnitType);

l_layer.cpp:int CALLBACK WEP(int bSystemExit)

m_layer.cpp:int CALLBACK WEP(int)

Methoden (72)
===========

void TRadicon::SetSpecificParametersDlg(void)
 (wahrscheinlich falschgeschriebene ’berladung von
  virtual TDevice::SetSpezificParametersDlg(void) )
void TRadicon::SetSpecificParametersDlg(void)

void TAm9513a::DigitalIn(BYTE *data)
void TAm9513a::DisarmAndSaveC(BYTE counter)
BOOL TAm9513a::SelectChip(BYTE)

int  TSteering::ReturnMacroCall(void)
BOOL TSteering::IsMacroCalled(void)
int TSteering::CallMacro(TMacroTag*)

double TAreaScan::GetArgumentMax(void) 
double TAreaScan::GetArgumentMin(void) 
BOOL TAreaScan::LoadReport(void)

double TScan::GetArgumentMax(void) 
double TScan::GetArgumentMin(void) 
BOOL TScan::SaveDataBase(void)

TOutputType TBitmapSource::GetType(void)

WORD TC_812::GetDynamicGain(void)
WORD TC_812::SetDynamicGain(WORD)

virtual DWORD TDC_Drive::GetAcceleration(void)
 (einschliežlich aller redefinitionen in abgeleiteten klassen)

virtual DWORD TMotor::GetAcceleration(void)
 (einschliesslich aller redefinitionen)
virtual float TMotor::GetMoment (void)
virtual float TMotor::SetMoment (void)
 (einschliežlich aller redefinitionen in abgeleiteten klassen)
virtual BOOL TMotor::SetSteeringParam (void)
 (nur default implementation in TMotor, nie ueberschrieben)
void TMotor::SetRelativeZero (void) {};
void TMotor::ResetRelativeZero (void) {};
long TMotor::PreviousPosition (void) {return lPreviousPosition;};
 (aužer dem sollte dies whol eine Get-Methode sein)

virtual BOOL TCmd::DeviceRequest(void);
virtual LPSTR TCmd::GetFailure(void);
TCmdId TCmd::GetId(void) {return eCmdId;};

BOOL TCurve::DeleteFlanks();
int TCurve::GetId(void) {return Id;};
int TCurve::GetLastId(void) {return LastId;};
int TCurve::GetPP(void) {return ActualIdx;};
BOOL TCurve::GetPeakProperties(float &hw,float &pos,float &intens)           
BOOL TCurve::GetReflection(int /*order*/,LPCPoint /*Peak*/)           
BOOL TCurve::ValueAdd(float &val)           
TCurve&	TCurve::operator=(const TCurve& crv)
 (?? schwer zu ’berpr’fen)

virtual int TDevice::GetData(WORD*,WORD,WORD)
virtual LPCSTR TDevice::GetUnitStr(void)
 (einschližlich ’berladungen)
virtual BOOL TDevice::IsHardOverflow(void)
 (einschližlich ’berladungen)
int TDevice::GetMFunction(void) 
BOOL TDevice::SelectMFunction(int) 
int TDevice::IsOk(void)

void TDList::CalibrateDlg(TCurve&)
 (einzige Verwendung in void TAreaScan::CalibratePsd(void) auskommentiert)
HINSTANCE TDList::GetModuleHandle(void)
BOOL TDList::SaveModuleSettings(void)

HINSTANCE TMList::GetModuleHandle(void)

CFault TDataBase::GetFault(void)
void TDataBase::Reset(void)

BOOL TPosControl::HScrollBar(WPARAM wParam,LPARAM)
 (verschrieben?? statt Dlg_OnHScrollBar)

BOOL TMain::GetDataDlg(LPSTR text,int *val)
BOOL TMain::GetVersion(LPSTR vers)
void TMain::TellMessage(int ret)

die folgenden geh÷hren zu Fensterklassen sind also weniger interessant
----------------------------------------------------------------------

virtual void TModelessDlg::Dlg_OnKillFocus (HWND,HWND) {};
virtual void TModelessDlg::Dlg_OnMouseMove (HWND,int,HWND,UINT) {};
  eine der folgenden beiden Versionen ??
virtual void TModelessDlg::Dlg_OnMouseActivate (HWND,int,HWND,UINT) {};
virtual int TModelessDlg::Dlg_OnMouseActivate (HWND,HWND,UINT,UINT) {return 1;}

void TMDIWindow::FileChange(void)
BOOL TMDIWindow::IsModified(void) 
LPSTR TMDIWindow::GetFileName(void)
virtual void TMDIWindow::GetCharacteristic(void)
 (einschliežlich aller redefinitionen in abgeleiteten klassen)

TEditWindow::TEditWindow(LPSTR aFileName)
void TEditWindow::DoSearch(void)
BOOL TEditWindow::NewFile()

Klasen, Strukturen
=========================

class TPiezoDrive (nicht wirklich ausimplementiert)
class TBurleigh (nicht wirklich ausimplementiert)
class TPositionControl (nur deklariert)
 (verschrieben?? statt TPosControl)
class TSetScanParameters (nur deklariert)
class TSetupAreaScanCmd (nur deklariert)

class TInquireCmd

class TEditWindow 
struct TFrameParam 
struct TFrameDimension
struct T_Font

struct TCScanParam (wird zwar einmal in m_dlg.cpp als globale variable
  instanziiert aber diese Variable wird nicht genutzt)