2012-02-13 16 views
8

Mirando el list of annotations in FindBugs 2.0, veo que muchos de ellos han quedado en desuso.anotaciones en desuso en FindBugs 2.0

Algunos de estos (@CheckForNull, @NonNull, etc.) se han desaprobado porque tienen anotaciones JSR-305 equivalentes. Bueno para finalmente resolver el dilema sobre qué conjunto de anotaciones usar.

Pero algunas anotaciones específicas de FindBugs, como @DefaultAnnotation y @DefaultAnnotationForFields, también se han desaprobado y no puedo encontrar ninguna explicación de qué usar en su lugar. Estoy tratando de migrar una base de código que hace un uso intensivo de estas anotaciones, y estoy un poco atascado.

Veo que JSR-305 tiene @ParametersAreNonnullByDefault, que podría usar para reemplazar algunas instancias de @DefaultAnnotationForParameters, pero eso no cubrirá todos los casos.

Me estoy perdiendo algo grande aquí? ¿Debería utilizar algún tipo de archivo de configuración o algo así, en lugar de anotaciones?

Respuesta

8

(nota: ver un artículo relacionado en Should annotations in jar305.jar be preferred over similar annotations in annotation.jar for FindBugs?)

De PDF del autor (here), en la página 51:

JSR-305 sólo se definirá ParametersAreNonnullByDefault, pero más se puede definir fuera de JSR-305

• y puede ser interpretado por los analizadores estáticos que interpretan JSR-305 anotaciones

... así que básicamente puede definirlo usted mismo y darle el mismo nombre que el que está reemplazando, y debería funcionar bien, ya que FindBugs solo ejecuta anotaciones por nombre (y probablemente prefiera el JSR- 305 anotaciones, tal vez debido a la desaprobación en particular).

Por ejemplo, here es la fuente de @ParametersAreNonnullByDefault.

Para obtener más información, puede que necesite enviar un correo electrónico al autor de JSR-305 y FindBugs: Bill Pugh (here es su sitio web). Además, el problema se ha agregado al rastreador de errores de Sourceforge (here).

+0

¡Gracias por el enlace PDF! Todo lo que quería saber estaba allí. –

+0

+1000. No puedo agradecerte lo suficiente por esta respuesta. – Gili