Pérolas do mundo Java
Pérola 1
Essa é na verdade um par de pérolas.
Boolean.FALSE.toString ().toUpperCase ().equals ( meuObjeto.isControlado() )
Quando vi o código acima, já achei ridículo o fato do programador usar a expressão Boolean.FALSE.toString().toUpperCase() apenas para gerar uma string “FALSE”. Poderia ter sido mais simples escrever
"FALSE".equals(meuObjeto.isControlado())
Provavelmente o desenvolvedor queria se prevenir. Vai que false resolve mudar de nome no meio do caminho! E daí eu me perguntei: porque ele está testando string? Daí encontrei a seguinte função:
public String isControlado () {
if ( this.getElementos () != null ) {
if ( this.getElementos ().size () > 0 ) {
return "TRUE";
}
return "FALSE";
}
return "FALSE";
}
Perfeito. Porque usar lógica booleana?
Pérola 2
public List procuraPorExemplo(int arg0, boolean arg1){
return super.procuraPorExemplo(arg0, arg1);
}
Pérola 3: sem comentários
public static boolean verificaAMaiorB(int a, int b) {
boolean resultado = false;
if (a > b) {
resultado = true;
}
return resultado;
}
Pérola 3
if ( objeto != null ) {
lista = procura( objeto );// XXX
} else {
lista = procura ( null );
}
Pérola 4
if ( comandoEscala.equals ( "alterar" ) == Boolean.FALSE ){
....
}

A Pérola 2 eu já fiz em MC600. Agora a segunda pérola 3 está fenomenal!!! hahahaha
e eu que pensei já ter visto de tudo nessa vida programadora… rsrsrs
Huhuahua muito bom !
Das pérolas as que mais encontro aqui são 1 e 3 … Principalmente dentro de Taglib ! Err …
sucesso!
Muito bom!
Essa vo guarda nas pérolas, olha que ja nao sao poucas!
abraços!
Cara, você tem muita “sorte” de esbarrar com essas coisas.
De vez em quando ainda encontro um `if (liberado == true)` também. Ainda não consegui entender o que há de errado com `if (liberado)`?
Thiago,
não existe nada de errado com if(liberado). Existe algo de errado com quem escreve if(liberado==true).
Btw, uma justificativa que já me deram pro uso da segunda forma é que isso deixa o código mais legivel………………..
É nessas horas que eu penso: simplesmente não adianta colocar o escambau a quatro na linguagem para impedir que programadores escrevam lixo! Vcs reclaram de “if(liberado == true)”? Pois eu tenho que reclamar de “if(true)”.
Abraço…
A pérola 2 nem é tão ruim assim. Se o método “procuraPorExemplo” da classe mãe for protected, e deseja-se que este método seja público na classe “filho”, o código faz todo sentido. Não consigo achar um exemplo razoável para a aplicação disso, mas ao menos não é desnecessário.
O que “Java” tem com a paçoca??? O programadores ‘ferais’ que escreveram isto vão contruir tais pérolas em qualquer linguagem que colocarem em sua frente…
Para quem não conhece: http://thedailywtf.com
O que Java tem a ver com a coisa? Sera que o simples fato de estas pérolas terem sido encontradas num projeto Java e serem escritas em Java não é suficiente?
Ou será que eu deixei a entender que pérolas apenas são produzidas em Java?
Bruno, deixe de ser tão garoto propaganda, ninguém aqui esta desmerecendo sua amada, apenas mostrando coisas que nossos colegas escrevem. E que jogue a primeira pedra aquele que nunca escreveu uma pérola, em qualquer que seja a linguagem.
Eu tenho um punhado de pérolas que encontrei em códigos de colegas aqui do serviço. Segue a minha lista, e sinta-se a vontade para incluí-las no teu post:
1. String str = new String(”MEMORANDO”);
2. String str = “Teste”;
String str2 = str.toString();
3. String st1 = “Teste1″;
String st2 = “Teste2″;
if (st1 != st2) {
….
}
4. NENHUMA das classes onde o método equals() foi sobreescrito possui um correspondente método hashCode().
A 2, 3a e 3b acontecem direto comigo, principalmente quando faço o algoritmo por “rascunhos”… eu e o pessoal nós esquecemos de tirar as redundâncias do código.