Códigos ou Lógicas "Bizarras"

Pessoal,

Estou abrindo este espaço para que vcs postem os código mais bizzarros que já viram nos projetos que estão trabalhando atualmente.

Fui dar manutenção em um método onde trabalho e quando vi o código e sua lógica no IF percebi q tinha q dividir aquilo com alguém… rs

segue o método

public Execucao obterExecucaoAtivaDoProcesso(ProcessoExecucao processoExecucao) throws BusinessException {
		Integer codProcExec = processoExecucao.getCodProcExec();
		
		Execucao exec = null;
		exec = this.obterExecucao(codProcExec, SituacaoExecucao.EM_CUMPRIMENTO);

		if (exec == null || (exec != null && exec.getCodExecucao() == null)) {
			exec = this.obterExecucao(codProcExec, SituacaoExecucao.POR_CUMPRIR);
		}
		if (exec == null || (exec != null && exec.getCodExecucao() == null)) {
			exec = this.obterExecucaoMaisAntiga(codProcExec);
		}
		
		return exec;
	}

Tem um Off-Topic a anos sobre isso.

http://www.guj.com.br/posts/list/30/30384.java

Não achei tão tosco assim, para falar a verdade. A idéia por trás de ter um objeto Execucao é desenvolver os passos de um workflow. Por que é que parece tosco para você?

hân! pra que fazer isso cada um faz do jeito que quer, isso seria um gambiarra ,pra rodar rs

sou iniciante…

qual é o problema deste código? achei ele legal… hehehe :smiley:

pode me explicar qual seria uma solução melhor?

abraços

Os dois ifs fazem a mesma coisa e a segunda comparação faz obj != null sendo que ja teria passado por obj == null antes.
Fora que se ele vier null na primeira “obterExecucao” ele provavelmente nao iria conseguir na segunda.
O melhor seria:

public Execucao obterExecucaoAtivaDoProcesso(ProcessoExecucao processoExecucao) throws BusinessException {
		Integer codProcExec = processoExecucao.getCodProcExec();
		Execucao exec = this.obterExecucao(codProcExec, SituacaoExecucao.EM_CUMPRIMENTO);
		if (exec == null || exec.getCodExecucao() == null) 
			exec = this.obterExecucaoMaisAntiga(codProcExec);
		return exec;
	}

Ok, não precisamos de mais um tópico sobre isso (embora exista muita tosquisse no mundo).

Quem quiser, acompanha no link ali em cima…