2011-07-31 25 views
7

¿Es posible hacer que el compilador genere una advertencia cuando encuentra una anotación definida por el usuario? Algo similar a la anotación @Deprecated?Generar advertencia de compilación con anotación definida por el usuario

Gracias

+0

por qué debería ser posible, un annota personalizada es bastante legal? La advertencia para @Deprecated es una funcionalidad incorporada. Mire su IDE si proporciona soporte integrado para el análisis de código estático personalizado ... – home

+0

@home: Quiero anotar los métodos en los que he hecho algo de codificación, pero lo comenté porque no es necesario en este momento. No quiero seguir buscando más adelante. Debería ser claramente visible al navegar por el código. Estoy usando Eclipse Helios. ¿Es posible hacer el análisis del código en él? No pude localizarlo. Gracias –

+1

¿Por qué no utilizar la etiqueta // TODO en sus comentarios? Eclipse los reunirá a todos en una lista de tareas para usted. También se resaltan en azul a lo largo del borde derecho de la ventana del editor. (Las advertencias se resaltan en amarillo.) – jkeeler

Respuesta

3

Sobre la base de su pregunta y los comentarios originales, supongo que estamos tratando de hacer lo siguiente:

  • código Marcar como incompleta (con una advertencia del compilador) para que otros desarrolladores no utilizan todavía.
  • Identifique el código incompleto en su IDE en un momento posterior.

No creo que pueda marcar el código con una advertencia de compilación. La etiqueta @Deprecated se procesa en el compilador. Una forma más común de lo que indica un método es incompleta es por lanzar una excepción:

throw new UnsupportedOperationException("Not implemented yet");

El efecto no se realiza hasta que el tiempo de ejecución, pero los otros desarrolladores debe ser unidad de ensayo de su código.

En cuanto a la identificación del código incompleto todavía me referiría a mi comentario original. Use la etiqueta de comentario TODO y Eclipse creará una lista de tareas para usted. Si su lista está llena de código generado automáticamente que no se ha limpiado, puede usar FIXME, XXX, o definir uno propio. Debería poder filtrar su lista.

1

Es posible a través de procesadores de anotación API

Aquí está la biblioteca de anotación Ligera javac Advertencia https://github.com/pushtorefresh/javac-warning-annotation

Uso:

// some code... 

@Warning("This method should be refactored") 
public void someCodeWhichYouNeedAtTheMomentButYouWantToRefactorItLater() { 
    // bad stuff going on here... 
} 
Cuestiones relacionadas