Bom dia,

Ter um blog não é nada fácil, este aqui por exemplo está abandonado já faz quase um mês. A maior dificuldade é encontrar assuntos pra postar. Por isso tive uma idéia, postar uma série de dicas de boas práticas de codificação.
A idéia é mostrar com dicas simples como melhorar o código, evitando erros e melhorando a codificação.

Nesta primeira dica, mostrarei como evitar um NullPointerException toda vez em que fazemos uma comparação com objetos com uma constante. Muita gente já conhece essa técnica, principalmente os mais experientes, mas nunca é demais lembrar.

A dica é: Sempre coloque a constante à esquerda (ou o objeto que você terá certeza que não estará nulo) da condição.

Veja o exemplo abaixo:

public boolean validar(String result) {
	if ("OK".equals(result)) {
		return true;
	} else {
		return false;
	}
}

O código acima compara o parâmetro result com a constante OK que está a esquerda da condição.
Se result for nulo o método retornará false.

Já dei manutenção em código que estava assim:

public boolean validar(String result) {
	if (result == null) {
	        result = "";
        }
	if ("OK".equals(result)) {
		return true;
	} else {
		return false;
	}
}

Percebam que colocaram um if desnecessário só para atribuir uma string vazia ao parâmetro, afim de evitar o NullPointerException no próximo if. Além de ser feio fazer atribuições aos parâmetros, aumenta a complexidade de uma futura manutenção.

Por hoje é só.

Até mais,
Roberto

Share


Um comentário

  1. #
    Alexandre Ferreira
    setembro 5th, 2010 at 13:18

    Então vamos melhorar ainda mais:

    public boolean validar(String result) {
    return “OK”.equals(result);
    }

    Sem dizer que dava pra usar as Commons da Apache que todas são Null Safe ( ou Safe Null ?!).

    O nome do metodo podria ser isEmpty(). E, o “OK” poderia esta numa variavel privada, estatica e final.

    []’s

    Responda a esse comentário

Deixe um comentário