Me gustaría un mecanismo para lanzar una advertencia en tiempo de compilación de forma manual. Lo estoy usando para marcar el código sin terminar, así que no puedo olvidarlo más tarde. @Deprecated está cerca, pero avisa en el sitio del llamante, no en el sitio de creación. Estoy usando eclipse. Algo como #Advertencia en C#.fuerza de advertencia en java
Respuesta
¿Por qué no agregar un indicador en el código fuente como //TODO:
o algo así? ¿Y luego solo busca todas las ocurrencias de TODO
en el archivo? Incluso podría tener alguna bandera especial como FINISHME
o algo así.
Si tiene cientos de TODO en su proyecto del equipo, puede filtrar por una cadena, p. sus iniciales en los menús de la parte superior derecha del panel de tareas.
Cree una anotación que imprime una advertencia.
¿qué, como una extensión de eclipse? suena como un gran dolor –
No, nada de eso. –
¿quiere decir que genera una advertencia en tiempo de ejecución? –
Se podría tratar de lanzar una excepción si se llama un método sin terminar (por ejemplo)
throw new UnsupportedOperationException()
(O puede crear su propia Excepción). Obviamente, esto solo ayudará en tiempo de ejecución (a menos que haga una búsqueda o algo en su código, pero Todo sería una mejor solución para eso)
Y si usa eclipse, puede marcar su código inacabado con // TODO y se mostrará en su lista de tareas (y en el canal derecho si lo tiene configurado). Obviamente, las cosas pueden ser muy ruidosas si tienes muchas etiquetas de Todo.
no es bueno, esto cambia la firma del método al agregar una cláusula throws en toda la jerarquía de herencia –
@Dustin Getz: simplemente use una subclase de RuntimeException o Error. Esto no afecta la jerarquía o las personas que llaman. –
@Dustin Además, UnsupportedOperationException es una RuntimeException –
Hago esto todo el tiempo simplemente poniendo "*** IZQUIERDA AQUÍ ***" o algo así. Como esto no es válido para Java o C++ o casi cualquier sintaxis de otro idioma, el compilador le da un mensaje de error.
Por supuesto que da un error y no una advertencia. Si desea compilar de otra manera con éxito, supongo que una cosa fácil de hacer sería poner una declaración que sepa que generará una advertencia de compilación con un comentario que diga "terminar esto" o lo que sea.
no estoy seguro de si hay algo así en java
pero aquí es algo que puede ayudarle a:
compilar el código de abajo de esta manera:
javac -Xprint verbose.java
public class verbose{
public @interface SomeMessage {
String somevalue();
}
@SomeMessage(
somevalue = "WHOOOOHOOOO000000000000000"
)
public static void main(){
System.out.println("Hello");
}
}
Cuando quiero advertir a los usuarios acerca de llamar a un método, utilizo (incorrectamente) la anotación @Deprecated incorporada que genera una advertencia en el lado del llamante. En realidad, tiene un significado ligeramente diferente, pero no me importa.
/** [Additional information...]
* It is marked as deprecated to warn callers. */
@Deprecated public void methodForWhichIWantToCreateAWarning();
Mucho mejor que usar la anotación desaprobada en mi humilde opinión, la anotación suprimir advertencias.
@SuppressWarnings("XXX")
se pueden anotar en casi todas partes y siempre que XXX no es una advertencia válida usted recibirá una advertencia de Eclipse sobre eso.
no funcionó aquí. Error: "Error de sintaxis en token (s), construcciones fuera de lugar" – RSFalcon7
- 1. Fuerza la impresora de destino en Java
- 2. punto de Fuerza ("") como separador decimal en java
- 3. Realmente fuerza la sincronización/enrasado de archivos en Java
- 4. Implementación de diseño dirigido a la fuerza en Java
- 5. Eclipse con Java Advertencia HashMap
- 6. Advertencia variable de bloque de captura en Java
- 7. Java: ¿Cómo fuerza un GC con ForceGargabeCollection de JVMTI?
- 8. Fuerza slf4j para usar logback
- 9. PostgreSQL fuerza nombres minúsculos?
- 10. advertencia "carácter imposible de cartografiar para la codificación" en Java
- 11. ¿Cómo reparar la advertencia de llamada desmarcada en Java?
- 12. señal de iPhone fuerza
- 13. Fuerza Java para llamar a mi C++ destructor (JNI)
- 14. Sesiones de fuerza bruta
- 15. ¿Attr() en jQuery fuerza minúsculas?
- 16. Método de base de fuerza llamada
- 17. Idioma de excepciones de fuerza en inglés
- 18. Sin fuerza de manejo de excepciones?
- 19. Advertencia:
- 20. Diseño automático de "fuerza repelente" en Cocoa
- 21. Fuerza utiliza en el índice de Oracle
- 22. teclado de fuerza abierto en android
- 23. Unboxing automático de Java: ¿hay una advertencia del compilador?
- 24. Función de Java 1.7 varargs informada como advertencia no marcada
- 25. Formulario de fuerza para redibujar?
- 26. subclases de fuerza para incluir constante en la clase abstracta de java
- 27. rotación de fuerza del iPhone
- 28. Fuerza expansión horizontal
- 29. Django: ¿Selección de fuerza relacionada?
- 30. Fuerza Django para cometer
¿Estás utilizando Eclipse? Puede usar // TODO en los comentarios, aparecen en la vista Tareas. – Etienne