如何确定方法所需的最低可见性?

时间:2011-08-18 13:19:38

标签: delphi refactoring

作为大型重构项目的一部分,我需要确定不再使用的方法,或者可以降低可见性的方法。

请考虑以下代码:

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私有符号'Method1'声明但从未使用过”,这非常有用。但是这个代码还有其他问题我想加以警告:

  1. 从不使用Method4,但我没有收到警告,因为它是公开的。
  2. Method2被声明为public,但仅用于私有。
  3. 我是否可以使用任何工具来识别这些问题?

2 个答案:

答案 0 :(得分:3)

Pascal Analyzer可以做到这一点以及更多案例。

答案 1 :(得分:1)

PAL from Peganza和/或CodeHealer也许可以为您提供帮助。