Limpe seu código

Fala, galera

O nome deste post é inspirado no livro “Clean Code (Código Limpo)” do Robert Martin (Uncle Bob), que fala justamente de boas práticas para melhorarmos nosso código.

Escrever código de qualidade não é fácil (desenvolvimento de software NÃO É FÁCIL, mas isso é tema para outro post). É preciso, além de conhecimento técnico, disciplina, pensar antes de “sair escrevendo” e refactoring (sempre!).

Já viram aquela conhecida frase do Martin Fowler? Traduzindo ficaria algo como: qualquer tolo pode escrever código que um computador consiga entender. Bons programadores escrevem código que HUMANOS consigam entender.

Isso quer dizer que temos que ser capazes de escrever código que nós possamos entender depois, quando formos dar manutenção no mesmo. Além disso, temos que entender que outras pessoas do time podem ter que ler o que você fez. Ler e entender!

E como fazer isso?

Vou deixar aqui algumas dicas iniciais. O assunto é extenso e posso voltar nele em outros posts:

1) A primeira coisa é darmos nomes melhores aos nossos métodos, classes e variáveis. Eles devem ser claros e objetivos. Que tal vocês lerem o código abaixo?

public int X(int b, int k, int y, int z)
{
int a = b * k + 1;
int x = (a + y) * z;
return x;
}

Péssimo, não é? Pare e pense antes de dar nome a uma variável. Dê um nome que faça sentido e não tenha preguiça de escrevê-lo (“prazoDeVencimento” é MUITO MELHOR que simplesmente “p”). O mesmo vale para classes, métodos, namespaces (pacotes), NOMES SÃO IMPORTANTES!

2) Mantenha uma convenção de nomes por toda a aplicação. Seus métodos serão no infinitivo (ex. CalcularTaxaDeEntrega) ? Então mantenha TODOS no infinitivo. Serão todos em Português ou em Inglês?

3) Abandone qualquer tipo de codificação nos nomes, tais como a Notação Húngara. Isso já foi importante. Hoje é só poluição. Então nada de:

bool bEstaValido;
string sNome;
string strNome;

4) Comentários. Evite ao máximo. Não POLUA seu código com comentários desnecessários, do tipo:

// declarando variáveis
int numeroDePessoas;

// se número de pessoas for maior que zero
if (numeroDePessoas > 0)
…….

Seu código deve explicar por si só o que ele faz, portanto só comente alguma regra ou decisão muito específica (o “porquê” de você ter feito aquilo) e, ainda assim, brevemente. Se você precisa ficar explicando tudo via comentário é porque tem coisa (muito) errada.

Eu mesmo já tive esse hábito de comentar demais o código, pensando que isso ajudava a deixá-lo mais organizado, mas estava redondamente enganado. Hoje estou curado! 🙂

5) Identação. Essa me irrita profundamente: ver um código bagunçado, todo sem identação, métodos emendados uns nos outros ou com grandes buracos entre eles (ou mesmo dentro deles). Deve ser porque sou meio neurótico com organização. Falta de organização renderia outro post!

6) Lembre-se da Regra do Escoteiro: “Deixe o acampamento mais limpo do que você encontrou”.

Isso quer dizer que quando você estiver trabalhando em um código e encontrar um comentário inútil, remova-o. Se o código tem uma variável de nome xyz, renomeie-a para algo legível. Só por estar fazendo isso, você está evitando que o código da aplicação apodreça.

Bom, essas foram as dicas fáceis. Isso é só a ponta do iceberg. Existem diversos Princípios de Projeto que ajudam a melhorar nosso código, tais como o DRY (Don´t Repeat Yourself), ou seja, evitar a pavorosa duplicação de código!

Então é hora de por a mão na massa. Pratique bastante! É altamente recomendada a leitura do livro Clean Code (há versão em português mas desconheço o nível da tradução). Outro livro sempre citado em artigos e fóruns é o Code Complete. Este último eu não li mas parece ser muito bom também.

Fico por aqui. Até a próxima!

Anúncios

2 comentários em “Limpe seu código

Participe! Vamos trocar uma ideia sobre desenvolvimento de software!

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s