Você está na página 1de 20

Developer Plus

1
Developer Plus

Índice
Sumário

Índice............................................................................................................2
1. O que é Clean Code (Código Limpo)?......................................................3
2. Por que Devo Usar Clean Code?..............................................................5
3. Benefícios................................................................................................. 6
4. Como Escrever Código Limpo..................................................................9
5. Conclusão...............................................................................................19

2
Developer Plus

1. O que é Clean Code (Código


Limpo)?

Clean Code é uma filosofia de desenvolvimento cujo principal objetivo é


aplicar técnicas simples que visam facilitar a escrita e leitura de um
código, tornando-o de fácil compreensão e revelando a sua real
intenção.

Alguns programadores escrevem código sujo porque planejam liberar a


primeira versão funcionando e depois trabalham para torná-la limpa.

Mas isso não funciona; nenhum cliente lhe dá tempo para limpar o
código.

Uma vez que a primeira versão é lançada, eles vão te empurrar para a
segunda.

Portanto, crie o hábito de escrever o código o mais limpo possível desde a


primeira linha de código.

Usar princípios de clean code tem muitos benefícios, e você vai entender
o motivo.

3
Developer Plus

É o trabalho do gerente de projeto, chefe de vendas ou cliente fazer o


projeto em um tempo mínimo para que eles possam controlar o custo do
projeto. Mas produzir código limpo e de qualidade é o seu dever como
programador.

Escrever código limpo não é uma tarefa grande ou demorada, mas fazer
disso a sua rotina, e se comprometer com isso, será um caminho para
avançar em sua carreira e melhorar seu próprio gerenciamento do tempo.

Código limpo sempre parece que foi escrito por alguém que se importa.

"Qualquer idiota pode escrever um código que um computador possa


entender. Bons programadores escrevem código que os humanos podem
entender."
—Martin Fowler

Você provavelmente leu até aqui por dois motivos: primeiro, você é um
programador. Segundo, você quer ser um melhor programador.

Continue lendo para saber por que o código limpo é importante e você se
tornará um melhor programador.

4
Developer Plus

2. Por que Devo Usar Clean Code?

Um código limpo é legível e fácil de entender por todos, seja o leitor o


próprio autor do código ou um novo programador.

Escrever código limpo é uma mentalidade necessária.

É preciso prática para escrever código limpo e estruturado, e você


aprenderá a fazer isso com o tempo.

Mas você precisa começar com a mentalidade de escrever dessa maneira.

E você se acostumará a revisar seu código para que seja o mais limpo
possível.

Ninguém é perfeito e você também não é.

Você sempre encontrará alguma oportunidade de melhorar ou refatorar o


seu código quando voltar para revisá-lo após alguns dias ou semanas.

Então, comece a escrever o código o mais limpo possível desde a


primeira linha de código, para depois trabalhar mais no desempenho e na
melhoria da lógica.

5
Developer Plus

3. Benefícios

Você ainda pode estar se perguntando: “Por que eu deveria me importar


em escrever código limpo?”

Há muitas razões para aplicar os princípios de clean code. Algumas das


mais importantes são:

3.1 Melhor Aproveitamento do Seu Tempo

O primeiro beneficiário do código limpo é o próprio programador.

Se você está trabalhando em um projeto por meses, é fácil esquecer as


coisas que você fez no código, especialmente quando o cliente volta com
alterações.

Linhas de código limpas facilitam a realização de alterações.

3.2 Entrada Mais Fácil para Novos Membros da Equipe

Usar princípios de código limpo ajuda na entrada de um novo


programador na equipe.

6
Developer Plus

Não há necessidade de documentação para entender o código; o novo


programador pode entrar diretamente nele.

Isso também economiza tempo tanto para o treinamento do novo


programador quanto para o tempo que o novo programador leva para se
ajustar ao projeto.

3.3 Debug Mais Fácil

Se você escreve código sujo ou limpo, os erros são inevitáveis.

Mas o código limpo ajudará a depurar mais rapidamente,


independentemente de quanta experiência ou especialização você tenha.

E não é incomum que seus colegas ou gerentes ajudem você a resolver o


problema.

Se você escreveu código limpo, não há problema: eles podem entrar e


ajudá-lo.

Mas se o seu gerente tiver que trabalhar com o seu código sujo, bem,
você pode acabar numa situação bem delicada.

3.4 Manutenção Mais Eficiente

"Claro que um código ruim pode ser limpo. Mas é muito caro."
―Robert C. Martin

Manutenção não se refere à correção de bugs.

À medida que qualquer projeto cresce, serão necessários novos recursos


ou alterações nos recursos existentes.

Você sabia que o custo principal de qualquer projeto de software está em


manutenção?

A empresa sempre lançará a primeira versão, ou produto mínimo viável


(MVP), o mais cedo possível.

Recursos adicionais ou novos são sempre requeridos à medida que o


software é mais utilizado.

7
Developer Plus

Código limpo torna a manutenção relativamente rápida e fácil.

Dessa maneira, é possível economizar o tempo do programador.

E economizar um pouco de tempo todos os dias terá um efeito composto


no tempo de entrega e no custo do software. Isso é bom para sua empresa.

3.5 Você Vai se Sentir Bem

Você se sente confiante ao compartilhar seu trabalho com os outros? Ou


com o seu cliente?

Se você está escrevendo código limpo e de qualidade, você deve se sentir


super confiante.

Você não deve ter medo de colapsos; você pode corrigir defeitos mais
rapidamente.

E isso significa que você provavelmente também está gostando de


programar.

Agora, como escrever código limpo?

8
Developer Plus

4. Como Escrever Código Limpo

Um programador é um autor, mas pode cometer o erro de identificar o


público.

O público de um programador é composto de outros programadores, não


de computadores.

Se os computadores fossem o público, você poderia estar escrevendo o


código em linguagem de máquina.

Assim, para facilitar a compreensão do seu público, você deve usar uma
nomenclatura significativa para variáveis, funções e classes.

E torná-lo mais legível usando indentação, métodos curtos e instruções


curtas, quando apropriado:

9
Developer Plus

4.1 Nome de Variáveis e Métodos


4.1.1 Use Nomes Facilmente Pronunciáveis para Variáveis e Métodos

Não use abreviações nos nomes de variáveis e métodos.

Use o nome da variável em sua forma completa para que ela seja
pronunciada facilmente e todos possam entendê-la.

Código sujo Código limpo


var notiSms; var notifySms;
var addCmt; var addComment;

user.createUser(); user.create();

O método createUser não faz Remover redundância.


sentido, pois está escrito na classe
de usuário (user).

var ymdhms = Date.now(); var todayTimestamp = Date.now();

4.1.2 Use o Nome para Mostrar Intenção

O objetivo da variável deve ser compreensível para alguém que esteja


lendo o nome da variável.

Isso significa escolher nomes que revelam intenção, o nome deve dizer
por que existe, o que faz e como é usado.

Se um nome exigir um comentário, então o nome não revela sua intenção.

Isso torna seu código mais fácil de entender e alterar mais tarde.

Código sujo Código limpo


var d; // elapsed time in days var elapsedTimeInDays;

if (‘paid’ == application.status()) { if (application.isPaid()) {


//process paid application
//process paid application
}

10
Developer Plus

4.1.3 Não Seja Inovador, Seja Simples

Mostre a inovação na lógica, não na nomenclatura de variáveis ou


métodos.

Ter um nome simples faz com que seja compreensível para todos.

Código sujo Código limpo


order.letItGo(); order.delete();

program.whack(); program.kill();

4.1.4 Seja Consistente

Use uma mesma palavra para funções semelhantes.

Por exemplo, não use "get" em uma classe e "fetch" em outra.

É confuso ter "fetch", "retrieve" e "get", como métodos equivalentes de


classes diferentes.

Usar uma mesma palavra por conceito ajudará os desenvolvedores a


entender mais facilmente o código.

Portanto, evite usar a mesma palavra para dois propósitos.

4.1.5 Não Hesite em Usar Termos Técnicos em Nomes

Vá em frente, use o termo técnico.

Seu colega programador vai entender isso.

Por exemplo, "jobQueue" é melhor que "jobs".

4.1.6 Nomes de Classes

11
Developer Plus

Classes devem usar substantivos como nomes e devem começar com


maiúsculas.

Código sujo Código limpo


class processCustomer { class Customer {
... ...
} }

class manageProduct { class Product {


... ...
} }

4.1.7 Nomes de Métodos e Funções

Os métodos e funções devem usar verbo como nomes e devem usar


camelCase.

Código sujo Código limpo


function NewUser() { function createUser() {
... ...
} }

function FileOnDisk() { function saveFile() {


... ...
} }

4.1.8 Use Convenções de Nomenclatura Consistentes

Sempre use letras maiúsculas e palavras separadas com sublinhados.

Código sujo Código limpo


const APIKEY = '123456'; const API_KEY = '123456';

12
Developer Plus

4.2 Funções e Métodos


4.2.1 Quanto Menor, Melhor

Mantenha uma função o mais curta possível, está é a primeira regra, elas
devem ser pequenas.

O comprimento ideal de um método é de até 15 linhas.

Às vezes, pode ser maior, mas o código deve ser conceitualmente limpo
para ser entendido.

4.2.2 Quanto Menos Argumentos Melhor

Se os argumentos forem maiores que três, você deve pensar em refatorar


a função em uma classe.

É díficil fazer um teste unitário em um método com 4 parâmetros ou mais,


por causa da grande combinação de possibilidades.

Código sujo
Circle makeCircle(double x, double y, double radius);

Código limpo
Circle makeCircle(Point center, double radius);

4.2.3 Faça Apenas uma Coisa

Você também deve limitar uma função ou método a uma única tarefa.

Funções devem fazer apenas uma coisa e devem fazer isso bem.

Ou seja, elas só devem fazer o que o nome sugere e nada mais.

Por exemplo, o método checkPassword deve apenas informar se a senha é


válida ou não. Nesse caso, não deveria validar um login ou iniciar uma
sessão.

13
Developer Plus

Código sujo Código limpo


function validateAndSave() { function validate() {
... ...
} }

function save() {
...
}

4.2.4 Evite Argumentos de Saída

Se retornar algo não é suficiente, sua função provavelmente está fazendo


mais de uma coisa.

Código sujo Código limpo


addSignature(email); email.addSignature();

4.2.5 A Indentação Também é Importante

Seu código deve usar quatro espaços para recuos, não a tecla tab.

Se você já tem o hábito de usar a tecla tab, altere a configuração da sua


IDE para que a tecla tab indique quatro espaços, em vez dos cinco usuais.

Se seu método tiver mais de três recuos, então é hora de refatorar em


novos métodos.

4.2.6 Não Repita o Código

Toda vez que você escreve um método, pergunte a si mesmo se algo


semelhante já foi construído.

Verifique a biblioteca de códigos ou outra documentação.

4.2.7 Não Usar Negação no if se Houver um else

14
Developer Plus

Quando existe apenas um If, não há problema de usar uma negação para
checar uma regra.

Mas se existe um else, uma negação no If deixa o código confuso e nada


intuitivo.

Código sujo
if (!user.isAdult()) {
return "You have not permissions to see this content.";
}
else {
return "Enjoy the content!";
}

Código limpo
if (user.isAdult()) {
return "Enjoy the content!";
}
else {
return "You have not permissions to see this content.";
}

15
Developer Plus

4.3 Comentários
4.3.1 Não Comente Código Ruim

Comentários não melhoram um código ruim.

Se o código for legível, você não precisa de comentários, ou seja, código


auto explicativo dispensa comentários.

Se você tiver que adicionar comentários para explicar seu código, isso
significa que você precisa refatorá-lo e criar novos métodos.

Código sujo
//Valida se o cliente possui benefícios
if ((cliente.Idade > 45 && cliente.Salario < SALARIO_MINIMO) {
...
}

Código limpo
if (cliente.possuiBeneficios()) {
...
}

4.3.2 Comentários Somente Quando Necessário

Nem todos os tipos de comentários são ruins.

Saber onde e quando aplicar um comentário é uma ótima skill.

Comente apenas se você precisar manter anotações sobre o futuro ou o


histórico do programa.

Veja quando usar bons comentários:

4.3.2.1 Explicar Sua Intenção

// se ordenarmos o array aqui, a lógica se torna mais simples no método


calculatePayment ()

16
Developer Plus

4.3.2.2 Avisar Sobre as Consequências

// esse script levará muito tempo para ser executado

4.3.2.3 Enfatizar Pontos Importantes

// a função trim é muito importante, na maioria dos casos, o nome de


usuário tem um espaço no final

4.3.3 Nunca Deixe o Código Comentado

Às vezes, os recursos mudam e os métodos precisam ser reescritos.

Normalmente, comentamos o código antigo por medo de que os clientes


mudem de ideia e solicitem a versão anterior.

Mas se você usar o sistema de controle de versão do Git, ele manterá


todas as versões armazenadas, portanto, não há necessidade de manter
código morto.

Remova-o e deixe seu código limpo.

3.4 Sem Hardcode

Defina constantes ou use variáveis em vez de usar expressamente os


valores no código (hardcoding).

Usar uma variável a torna legível, assim como facilita a mudança se ela
estiver sendo usada em vários lugares.

Código sujo Código limpo


if (7 == today) { const SATURDAY = 7;
return ‘It is holiday’;
if (SATURDAY == today) {
}
return ‘It is holiday’;
}

17
Developer Plus

4.3.5 Deixe a Instrução Legível

Para tornar a instrução legível, mantenha a linha curta, para que você não
precise rolar na horizontal para ler a linha completa.

18
Developer Plus

5. Conclusão

Escrever código limpo tem muitos benefícios e é fácil perceber porquê.

Com essas dicas, você estará no caminho certo para escrever códigos que
todos possam entender - e isso tornará a sua vida mais fácil no longo
prazo.

Isso ajudará seus colegas, sua equipe e sua empresa também.

Neste e-book, compartilhei com você lições úteis que foram resumidas do
livro Código Limpo de Robert C. Martin.

Este livro é essencial para todos os desenvolvedores que querem ser


notáveis na sua carreira.

Aconselho fortemente a comprar o livro caso deseje ir mais a fundo na


saga de se tornar um desenvolvedor ainda melhor, lá tem muito mais
coisas, explicadas com mais detalhes e embasamento.

Se estiver interessado, seguem os links abaixo:

- Clean Code (português)


https://amzn.to/2M5Nnog

19
Developer Plus

- Clean Code (inglês)


https://amzn.to/2QlVStV

- Inscreva-se no Canal
https://developerplus.com.br/inscrever-se

20

Você também pode gostar