2011-08-18 7 views
7

Como parte de un gran proyecto de refactorización, necesito identificar métodos que ya no se usan o donde se puede reducir la visibilidad.¿Cómo identifico la menor visibilidad requerida de los métodos?

Considere el siguiente código:

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. 

El compilador Delphi da la advertencia "[DCC Sugerencia] Project1.dpr (6): H2219 símbolo privada 'Método1' declarados, pero nunca ha sido utilizada", lo cual es muy útil . Pero hay otros problemas con este código que me gustaría advertir:

  1. Method4 nunca se utiliza, pero no aparece una advertencia ya que es público.
  2. Method2 se declara pública, pero solo se usa de forma privada.

¿Hay alguna herramienta que pueda utilizar para identificar problemas como estos?

+2

Cambie el nombre del método y compile, si nadie se queja de que se puede eliminar, si solo la misma unidad se queja, puede hacerse privada. –

+3

Sí, pero tendría que hacer esto para cada método. Esperaba identificar todo de una vez. –

+0

Pensé que tendrías una razón, por eso es un comentario :). –

Respuesta

3

Pascal Analyzer puede hacerlo y muchos más casos.

+0

Gracias. Compré una licencia para PAL (la versión de evaluación fue muy limitada para hacer una evaluación exhaustiva), y se ve muy bien hasta ahora. –

Cuestiones relacionadas