Las aserciones deben usarse para verificar algo que nunca debería suceder, mientras que una excepción debe usarse para verificar algo que podría suceder. Por ejemplo, una función podría dividir por 0, por lo que se debe usar una excepción, pero se podría usar una aserción para comprobar que el disco duro desaparece repentinamente.
¿La afirmación es buena o mala?
No, ni ir ni afirmar son malos. Pero ambos pueden ser mal utilizados. Assert es para controles de cordura. Cosas que deberían matar el programa si no son correctas.
¿Por qué las afirmaciones son malas?
Las aserciones se pueden usar para verificar invariantes de implementación interna, como el estado interno antes o después de la ejecución de algún método, etc. Si la aserción falla, realmente significa que la lógica del programa está rota y usted puede No me recupero de esto.
¿Son buenas prácticas las afirmaciones?
La guía de lenguaje que presenta afirmaciones tiene algunas buenas pautas que son básicamente lo que acabo de describir. Sí, es una buena práctica. En el caso de Spring, es particularmente importante porque las comprobaciones validan la configuración de propiedades, etc., que normalmente provienen de archivos de cableado XML.
¿En qué casos son útiles las afirmaciones?
Suponiendo que el código se esté probando correctamente, las aserciones hacen varias cosas útiles: Detectar errores sutiles que de otro modo podrían pasar desapercibidos . Detectar errores antes de que ocurran de lo que podrían detectarse de otro modo. Hacer una declaraciónsobre los efectos del código que se garantiza que es cierto.