2011-08-18 10 views
7

Come parte di un grande progetto di refactoring, ho bisogno di identificare i metodi che non vengono più utilizzati o dove la visibilità può essere ridotta.Come identifico la visibilità minima richiesta dei metodi?

Si consideri il seguente codice:

program Project1; 

type 
    TMyClass = class(TObject) 
    private 
    function Method1 : integer; 
    public 
    function Method2 : integer; 
    function Method3 : integer; 
    function Method4 : integer; 
    end; 

var 
    vMyObject : TMyClass; 

function TMyClass.Method1: integer; 
begin 
    Result := Method2; 
end; 

function TMyClass.Method2: integer; 
begin 
    Result := 2; 
end; 

function TMyClass.Method3: integer; 
begin 
    Result := 3; 
end; 

function TMyClass.Method4: integer; 
begin 
    Result := 4; 
end; 

begin 
    vMyObject := TMyClass.Create; 
    try 
    writeln(vMyObject.Method3); 
    finally 
    vMyObject.Free; 
    end; 
end. 

Il compilatore Delphi dà l'avvertimento "[DCC Suggerimento] Project1.dpr (6): H2219 simbolo privata 'Method1' dichiarata ma mai utilizzato", che è molto utile . Ma ci sono altri problemi con questo codice che vorrei essere avvertito su:

  1. Method4 non viene mai utilizzato, ma non ricevo un avviso poiché è pubblico.
  2. Method2 è dichiarato pubblico, ma utilizzato solo privatamente.

Esistono strumenti che è possibile utilizzare per identificare problemi come questi?

+2

Rinominare il metodo e compilare, se nessuno si lamenta può essere rimosso, se solo la stessa unità si lamenta può essere reso privato. –

+3

Sì, ma dovrei farlo per ogni metodo. Speravo di identificare tutto in una volta. –

+0

Ho pensato che avresti una ragione, ecco perché è un commento :). –

risposta

3

Pascal Analyzer può farlo e molti altri casi.

+0

Grazie. Ho comprato una licenza per PAL (la versione di valutazione era di gran lunga limitata a fare una valutazione approfondita), e sembra molto buona finora. –

Problemi correlati