Technology

Development

Code

10 Boas Práticas do Livro Clean Code

19 de dez. de 2022

Os princípios de código limpo são extremamente importantes. Tanto para que o próximo dev que trabalhar no seu código entenda o que está rolando quanto para que você mesmo se encontre com mais facilidade. Quanto mais desacoplado, bem nomeado e padronizado seu código for, mais fácil e rápido será desenvolver novas features ou resolver bugs nele. Aqui estão algumas dicas do livro Código Limpo que podem ser de grande ajuda.

1. Funções devem fazer apenas uma coisa

As funções devem fazer apenas uma coisa e devem fazê-la bem. Quando as funções fazem mais de uma ação, se torna muito mais difícil debugar, testar e até explicar o que elas fazem. Um código dividido em pequenas funções é mais agradável aos olhos, mais simples de ler. O nome dessas funções deve dizer exatamente o que fazem. Se for muito difícil dar um nome, isso pode ser um indício de que ela faz mais de uma coisa. E deveria ser quebrada em funções menores.

2. Evite efeitos colaterais

Isso se relaciona com a regra de fazer apenas uma coisa, um efeito colateral é quando uma função não faz o que diz. Altera coisas fora do escopo dela como variáveis globais ou muda dados que não fazem sentido com o nome da função.

3. Use nomes significativos

É muito importante dar bons nomes a variáveis, funções, classes e tudo o que há no código. Isso separa um código que se explica de um código nebuloso. Uma variável “a” ou “b” não significa nada. Já uma variável como “currentDate” ou “isDisabled” permite que ao bater o olho se entenda o processo mental do programador que passou por ali. Também é importante que os nomes sejam facilmente pronunciáveis para facilitar a discussão. E que sejam passíveis de busca.

4. Evite comentários

Esse ponto se relaciona com o ponto de nomes significativos. Por que criar uma variável “a” e comentar “a is the current date” ? Simplesmente nomear a variável “currentDate” resolve o problema. O código deve explicar a si mesmo, comentários geralmente compensam um código sujo. Salvo algumas exceções o ideal é que o código não tenha comentários

5. Remova código inutilizado

Trechos comentados ou funções que não são mais chamadas só poluem a base de código. Com o versionamento no git dificilmente algum código será perdido então só delete, delete tudo!

6. Selecione uma palavra por conceito

É confuso ter funções como fetch, retrieve, get para o mesmo propósito em partes diferentes do código. O ideal é escolher uma e padronizar todo o código assim.

7. Evite repetição

Código repetido se amontoa, cria a necessidade de modificar a mesma coisa em vários lugares em caso de mudança, e cria novas oportunidades para omissão de erros. Don’t Repeat Yourself

8. Evite funções com mais de 2 parâmetros

Quando uma função recebe 3 ou mais parâmetros é hora de considerar criar um objeto com sua própria classe/tipo para passar esses parâmetros. Quanto mais parâmetros uma função recebe, mais difícil ela se torna de ler e testar.

9. Evite mapeamento mental

Isso se relaciona ao ponto 3: “Use nomes significativos”. Pode ser tentador escrever um loop como esse:

users.map(( u ) => {
//…mais código aqui

doSomethingToUser(u);
} )

mas pelo bem da clareza no código é melhor fazer a coisa da forma mais clara possível.

users.map(( user ) => {
//…mais código aqui

doSomethingToUser(user);
} )

Pode parecer óbvio que “u” é user mas não se sabe qual fluxo mental o programador vai estar fazendo ao ler a variável. E ter que mapear mentalmente que “u” é user pode quebrar o raciocínio ou causar confusão.

10. Espaçamento vertical entre conceitos

Cada linha ou grupo de linhas representa um pensamento completo. Esses pensamentos devem ficar separados por linhas em branco.

Sem espaçamento

Isso economiza linhas mas dificulta a compreensão conforme o código cresce.

Com espaçamento

Conclusão

Com algumas mudanças no jeito que se pensa sobre o código e um pouco mais cuidado é possível reduzir consideravelmente o tempo que passamos tentando entender o que já existe. Isso possibilita entregas mais eficientes e mais valor agregado para o cliente.

criando futuros possíveis

Contate-nos

hello@novatics.com.br

Brasília

SEPN 516, Bloco E, Sala 301

Ed. Carlton Center, Brasília, Brasil

70770-520

São Paulo

Av. Paulista 1374, Bela Vista

São Paulo, Brasil

01310-100

Califórnia

1020 B St, San Raphael

Califórnia, USA

94901

criando futuros possíveis

Contate-nos

hello@novatics.com.br

Brasília

SEPN 516, Bloco E, Sala 301

Ed. Carlton Center, Brasília, Brasil

70770-520

São Paulo

Av. Paulista 1374, Bela Vista

São Paulo, Brasil

01310-100

Califórnia

1020 B St, San Raphael

Califórnia, USA

94901

criando futuros possíveis

Contate-nos

hello@novatics.com.br

Brasília

SEPN 516, Bloco E, Sala 301

Ed. Carlton Center, Brasília, Brasil

70770-520

São Paulo

Av. Paulista 1374, Bela Vista

São Paulo, Brasil

01310-100

Califórnia

1020 B St, San Raphael

Califórnia, USA

94901

Portugues