2011-08-18 39 views
7

作爲一個大型重構項目的一部分,我需要確定不再使用的方法或可見性可以降低的方法。如何識別方法所需的最低可見度?

考慮下面的代碼:

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. 

的Delphi編譯器給出警告 「[DCC提示] Project1.dpr(6):H2219專用符號的 '方法一' 聲明,但從未使用過」,這是非常有幫助。但這個代碼還有其他問題,我想提醒一下:

  1. Method4從來沒有使用過,但我沒有得到警告,因爲它是公開的。
  2. Method2是公開的,但只能私下使用。

是否有任何工具可以用來識別這些問題?

+2

重命名該方法並編譯,如果沒有人抱怨它可以被刪除,如果只有相同的單元抱怨它可以被設置爲私有。 –

+3

是的,但我必須爲每種方法都做到這一點。我希望能一下子識別所有人。 –

+0

我想你會有一個理由,這就是爲什麼它是一個評論:)。 –

回答

3

Pascal Analyzer可以做到這一點和更多的情況。

+0

謝謝。我購買了PAL制式的許可證(評估版本僅限於進行全面評估),而且目前看起來非常好。 –