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