Duvidas Assertives

5 respostas
A

Estou estudando para certificação. Mas estou tendo duvidas sobre assertive no capito 5 do livro kathy Sierra, pois preciso entender mas a funcionalidade deste recurso.

5 Respostas

A

.

LPJava

assertivas - é uma maneira de boas praticas de programacao… vc vai usa-la apenas quando quer testar se realmente a logica do seu programa estar funcionando corretamente é tanto que ela sao desativadas por padrao e nao podem ser usadas para teste if.
Um exemplo bem pratico… vc vai usar assertivas quando vc tem assim:
“olha clientes com menor de 18 anos nao podem alugar esses filmes” ai se por acaso algum programador alterar essa parte vc pode assert para verificar se alguem mudou ai acontece a exceção e vc informa aonde foi mudado o que sempre deveria ser true…

if(idade<18)
assert false:"a linha 1 foi alterada para um valor invalido";

Entao quando vc vai fazer um debug em seu codigo ai aonde vc quer garantir que o valor sempre seja true vc usa assertiva e poe o comentario " " para facilitar onde foi alterado…

tem muitas questoes de assertivas no exame media de 5 por ai… e com pegadinhas boas… tipo… a sintaxe… quebra das regras… agora nao confuda regras… de assert com recomendacoes… a kathy disse la que nao é recomendavel usar assert em metodos publicos… mais se usar… seu programa, roda, compila e executa normalmente… é apenas uma recomendação e o exame testa isso claramente… nas perguntas! entao ter atenção e ler mais de uma vez a questao e sabe o q ele quer é importante… nas questoes q envolve regras X recomendação… dar para perder muitas questoes… se o cara nao souber separar um do outro…

flw!!

B

http://www.guj.com.br/java.tutorial.artigo.23.1.guj

sergiotaborda

Não deveria ser …

assert idade>=18:"a linha 1 foi alterada para um valor invalido";

?

LPJava

poderia sim, mais lembra da regra o assert nao pode ser usado para substituir o IF. e nesse seu caso vc está substituindo o if por assert se estiver desabilitado o assert iai?
lembra dessa regrar assert nao pode causar efeitos colaterais… :smiley:

Criado 23 de janeiro de 2008
Ultima resposta 24 de jan. de 2008
Respostas 5
Participantes 4