05/11/99 Module Komplexitaeten (alphabetisch, v(g)>10, ev(G)>4 ) Program: rtk Module Name v(G) ev(G) gut ? Kommentare ------------------------------------------------------------ ---- ----- -------- ---------------- FrameWndProc(HWND___*,unsigned_int,unsigned_int,long) 30 13 schlecht switch in switch if,while Anweisung nur durch break oder return init_b(unsigned_char_*,unsigned_int,int,int) 12 11 schlecht erst einige if mit return, dann while mit if's aus dem per return oder break rausgesprugen rc_message(int,int,int,unsigned_char_*,int,int_*) 16 10 schlecht if mit return, while mit Bed. und innen if mit return SetFPOnData(int) 18 17 schlecht goto, if in while TAm9513a::SplitNumber(unsigned_long,unsigned_short_&,unsigne 14 8 schlecht while mit break, continue TAngleControl::Dlg_OnCommand(HWND___*,int,HWND___*,unsigned_ 45 6 naja switch, aber auch if und break, unklar wofuer das einzelne break steht nur case -Ende oder case Fall vorzeitig verlassen TAngleControl::Dlg_OnHScrollBar(HWND___*,HWND___*,unsigned_i 11 6 naja siehe Dlg_OnCommand TAreaScan::CounterSetRequest(long) 45 10 schlecht if auch geschachtelt switch mit nur einem case TAreaScan::InitializeDlg(unsigned_int,long) 25 5 schlecht geschachtelt, return auch Schleifen TAreaScan::InitializeTask(unsigned_int,long) 25 11 naja oft break oder return wo else mgl. TAreaScan::LoadMeasurementInfo(int) 35 30 naja zwar grosse Teil if aber goto, TAreaScan::LoadOldData(int) 26 19 naja while geschachtelt, if, raussprigen mit break TAreaScan::SaveFile(int) 31 17 naja if geschachtelt, wo Bedingung zusammen- gefasst werden koennte TBitmapSource::GenerateAngleSpaceBitmap(int,int,int,unsigned 21 5 naja viermal dieselbe for Schleife nur mit je anderer interner if- Abfrage TBitmapSource::GenerateRLBitmap() 30 13 schlecht siehe SpaceBitmap; continue TBraun_Psd::LoadHexFile() 17 15 naja geschachtelt; return break TBraun_Psd::PsdInit() 15 13 naja Zusammenfassen mgl. TCalibrate::Dlg_OnCommand(HWND___*,int,HWND___*,unsigned_int 45 20 naja goto, switch im switch TControlFlankCmd::ControlStep() 13 6 geht TCurve::DeleteFlanks() 14 12 geht es gibt noch Marke, aber kein goto TCurve::FastOpen() 13 12 naja goto; vierfach && + || TCurve::GetGravityCenter(float_&,float_&,float_&,int) 13 9 geht 4 fach ||; returns TCurve::GetPeakProperties(float_&,float_&,float_&) 12 11 naja goto's; || TC_812GPIB::ExecuteCmd(char_*) 11 8 naja goto's, break's bedingete comp. TC_812ISA::ExecuteCmd(char_*) 17 15 schlecht goto's; continue's bedingete comp. (TEXTLAUF, WriteLog) TC_832::IsIndexArrived() 13 10 geht ev(g): mehrfach &&'s TMacroExecute::Dlg_OnCommand(HWND___*,int,HWND___*,unsigned_ 27 7 naja ein switch; einige teil- pfade zu gross TMList::InitializeModule() 11 6 geht einige continue's durch else ersetzbar TMList::ParsingAxis(char_*) 37 34 geht if-kette als switch-ersatz ev(G): 8 mehrstellige || returns durch else ersetzbar TPsd::PollDevice() 12 8 schlecht viele return's, goto's TRadicon::MeasureStart() 13 12 schlecht goto's aus schleife, countinue's TRadicon::PollDevice() 14 6 geht return's; viele entscheidungen fuers debugging tr_message(int,int,int,unsigned_char_*,int) 16 10 naja 12 returns, z.T. in schleifen && TScan::InitializeTask(unsigned_int,long) 16 16 geht 3 returns durch else ersetzbar ev(G): 3 * 3|| TScan::LoadMeasurementInfo(int) 22 22 naja switch-ersatz, countinue durch else ersetzbar: goto's TSetupAreaScan::Dlg_OnCommand(HWND___*,int,HWND___*,unsigned 23 5 naja switch aber sehr große einzel pfade; case mit 2 breaks TSetupStepScan::Dlg_OnCommand(HWND___*,int,HWND___*,unsigned 25 6 geht switch, ein pfad etwas groß case ohne break; &&, || TSteering::LoadMacro(char_*,char_*) 18 16 schlecht mehrere verschachtelte schleifen mit mehreren ausgängen und fortsetzungen TSteering::ParsingCmd(TCmdTag_&,char_*,char_*,char_*,char_*) 70 24 naja relativ klare kette von fall- unterscheidungen (switch-ersatz) z.T. stärker untersetzt fälle break-durch else ersetzbar TSteering::ParsingMacroId(TMacroTag_&,char_*) 13 13 geht relativ klare kette von fall- unterscheidungen (switch-ersatz) break-durch else ersetzbar TTopographyExecute::Dlg_OnCommand(HWND___*,int,HWND___*,unsi 38 7 naja v(G): ein switch mit z.T. sehr großen einzelzweigen ev(g): 2 x && ------------------------------------------------------------ ---- ----- ----------------------------------- Total: 922 504 | schlecht 12x Average: 22.49 12.29 | naja 19x Maximum: 70 34 | geht 10x Minimum: 11 5 | Rows in Report: 41