quarta-feira, 21 de agosto de 2013

Nomear variáveis e métodos

Olá,

Estou criando este artigo como um apelo aos desenvolvedores em geral, sempre que faço manutenção em software as vezes dá vontade de entrar em depressão com código mal feito e o principal vilão são o nome das varáveis, se você não sabe como utilizar a palavra reservada "var" por favor evite utilizá-la.

Citarei alguns exemplos de boas práticas para os nomes:

Nome de variável: A menos que estejamos falando de um laço for ou algum contador por que diabos você vai criar váriaveis com o nome de "i", "x", "k", etc..
Coloque nomes do que a variável irá armazenar, se sua variável vai armazenar um salário então ela tem que ter o nome de:

decimal salario = 500.00;

e não decimal sal = 500,00;
ou até mesmo decimal  salarioValor = 500.00;
decimal salarioFuncionario = 500.00;

Sabe onde está o erro (na verdade uma informação desnecessária e não necessariamente um erro)? Se é um salário eu não preciso informar que é um valor, por que eu já sei disso, a não ser que o salario estivesse em uma categoria, ai sim poderíamos falar:

string categoriaSalario = "JR";

Nome de métodos: MUITO cuidado com o nome dos seus métodos um simples nome mal dado pode confundir muito seu companheiro de desenvolvimento, quer um exemplo?
Procurem dar nomes que falem aquilo que o método faz, se o método calcula algo então o nome dele tem que ser CalcularAlgo() e não Calcular();

Observem este método (SEMPRE use verbos na primeira palavra do seu método, um método é uma ação então nada mais correto do que usar verbos):

List<Funcionario> BuscarFuncionario()

De cara já termos um erro, nosso tipo de retorno é uma lista então no minimo esse método tem que estar no plural, se a classe é um funcionário no minimo o que se espera é que se esteja buscando funcionários

Correção:

List<Funcionario>GetAll()

Pronto já temos um método bem melhor do que o outro que não tinha pluralização, pensa q é frescura? Então vamos olhar isso:

Exemplo 1:

Funcionario funcionario = new Funcionario();
var funcionarios = funcionario.BuscarFuncionario();

Exemplo 2:
var funcionario = new Funcionario();
var listaFuncionarios = funcionario.GetAll();


Não preciso nem dizer que o exemplo 2 logo de cara você sabe que seu método está retornando uma lista de funcionários não é verdade?
Tirando que no exemplo 1 você encontra a palavra funcionário tantas vezes que fica até poluído.







Nenhum comentário:

Postar um comentário