• +55 86 99818-0416
  • brenomachadodomonte@gmail.com

Assertivas em Java

Assertivas em Java

Uma Assertiva é uma declaração na linguagem de programação Java que permite testar suas suposições sobre o seu programa.

Cada Assertiva contém uma expressão booleana que você acredita ser verdadeira quando a asserção é executada. Se não for verdade, o sistema irá lançar um erro. Ao verificar se a expressão booleana é realmente verdadeira, a afirmação confirma suas suposições sobre o comportamento do seu programa, aumentando sua confiança de que o programa está livre de erros.

A experiência demonstrou que escrever Assertivas durante a programação é uma das maneiras mais rápidas e eficazes para detectar e corrigir bugs. Como um benefício adicional, afirmações servem para documentar o funcionamento interno do seu programa, aumentando a capacidade de manutenção.

A declaração Assertiva tem duas formas. A primeira forma mais simples é:

assert Expression;

A segunda forma da declaração de asserção é:

assert Expression1 : Expression2 ;

onde:

  • Expression1 é uma expressão booleana.
  • Expression2 é uma expressão que tem um valor. (Não pode ser uma invocação de um método que é declarado void.)

Exemplificando:

Em um sistema fictício precisamos criar o método recebeDoacao(int quantidade). Uma regra é que a quantidade não pode ser negativo. Sem o conhecimento de assertivas criaríamos o método assim:

private void recebeDoacao(int quantidade) {

        if (quantidade >= 0) {
            //Faz algo
        } else {
            //Atenção, nunca devemos chegar neste código!
            System.out.println(" Atenção! Número negativo chegou aqui!");
        }
}

Analisando o código acima percebemos que nunca deveremos entrar no else porém precisamos de garantia de que o valor de quantidade nunca seja negativo. O código resolve o problema mas “custa caro” quando for para produção pois sempre irá realizar a verificação desnecessariamente. Sendo assim o ideal seria utilizar Assert ficando assim:

private void recebeDoacao(int quantidade) {

        assert(quantidade >= 0) //Caso retorne false lança uma exceção AssertionError

        //Faz algo

}

Assim podemos realizar todos os testes possíveis, caso em algum cenário ocorra o erro, então devemos corrigir pois a quantidade nunca deve ser negativa. Devemos lembrar que após realizar todos os teste e  for para produção devemos remover as assertivas pois as exceções lançadas nele não são manipuláveis.

breno

Deixe sua mensagem