Java - Forma "culta" - if(boolean)

6 respostas
V

É correto não fazer uma comparação lógica com boolean sendo ele um valor que já é lógico?

boolean active = true; //Essa variável tende a modificar-se durante o programa

if(active == true){ ... }
//ou
if(active){ ... }

//e se tiver mais de 1?

if(active == true && active2 == true) { ... }
if(active && active2) { ... }

6 Respostas

RodrigoKaos

Acho que ser breve é sempre bom

fredericomaia10
VA:
boolean active = true; //Essa variável tende a modificar-se durante o programa

if(active == true){ ... }
//ou
if(active){ ... }
Mais limpo:
if(active) { ... }
VA:
//e se tiver mais de 1?

if(active == true && active2 == true) { ... }
if(active && active2) { ... }
Mais limpo:
if(active && active2) { ... }
Ou melhor:
if(areBothActive()){ ... }

private boolean areBothActive() {
    return active && active2; 
}
Pesquise sobre Clean Code.
jonatha_java
VA:
É correto não fazer uma comparação lógica com boolean sendo ele um valor que já é lógico?
boolean active = true; //Essa variável tende a modificar-se durante o programa

if(active == true){ ... }
//ou
if(active){ ... }

//e se tiver mais de 1?

if(active == true && active2 == true) { ... }
if(active && active2) { ... }

Desculpe mais achei meio vago sua pergunda.

Sim é valido fazer uma comparação com um Booleano pois assim você vai compara ser e o valor esperado
pode-se fazer de 2 forma uma mais especifica ou menos especifica.

Mais especifica
exemplo 'if(active == true)' assim fica mais especifico, mais facil você bate o olho e identifica mais rápido que somente vai entra ser o valor for true.
ou assim 'if(active != false)' você já identifica de cara que active e um booleano e só vai entra ser for false.

Menos especifica
formas mais simplificadas 'if(active)' entra somente ser for verdadeiro
ou if(!active) entra somente ser for false.

Agora ser estive falando do && também é valido.
suponha que precise realizar uma consultar no banco de dados para isto precisa esta conectado ao banco, porem somente o administrador pode realizar,
neste caso pode ser que precise usar uma instrução mais ou menos assim.

if(conectouBD == true &&  usuarioAdm == true){// somente entra ser estive conectado ao BD e(&&) o usuário é um administrador
//realize a consultar pois esta conectado ao BD e o usuario é um adm
}

desculpe caso tenha interpretado mal.

V

Valeu galera! Era mais por uma questão de “limpeza” que eu fazia isso, mas vim perguntar aqui porque as vezes aparece alguém e diz: “NÃO FAÇA ISSO! SEU PROGRAMA VAI BUGAR!” … KKkkkk, mas como não veio ninguém! Valeu! :smiley:

x111

Seu programa não vai bugar, mas sua mulher vai te abandonar, seu filho vai virar emo e você vai ficar careca e brocha de tanta praga que você vai receber de outros programadores.

Não faça isso porque é uma péssima prática! Nenhum programador gosta pois o código fica “sujo” e confusso.

JavaDreams

Eu responderia o seguinte:

Siga as boas práticas, nada mais e nada menos.

O resto é igual time de futebol.

Criado 8 de agosto de 2013
Ultima resposta 12 de ago. de 2013
Respostas 6
Participantes 6