## glossário
O que é Clean Code?
Clean Code (código limpo) é o conjunto de práticas voltadas a tornar o código-fonte legível, compreensível e fácil de modificar. O conceito foi popularizado pelo livro homônimo de Robert C. Martin, publicado em 2008.
A premissa que sustenta tudo é econômica: código é lido muito mais vezes do que é escrito. Otimizar para a escrita economiza minutos uma vez; otimizar para a leitura economiza horas repetidamente, por anos, para todo mundo que passar por ali — incluindo você daqui a seis meses.
Nomes que dispensam explicação
O princípio mais rentável e o mais negligenciado. Um bom nome elimina a necessidade do comentário que explicaria o nome ruim.
// difícil de ler: o que são d, l e 0.1?
function calc(d, l) {
return d.filter((x) => x.t > l).map((x) => x.v * 0.1);
}
// o código explica a si mesmo
const TAXA_COMISSAO = 0.1;
function calcularComissoes(vendas, valorMinimo) {
return vendas
.filter((venda) => venda.total > valorMinimo)
.map((venda) => venda.valor * TAXA_COMISSAO);
}Princípios centrais
- Responsabilidade única — cada função faz uma coisa. Se o nome precisa de "e" para descrevê-la, provavelmente faz duas.
- Funções pequenas — o que cabe na tela sem rolagem é mais fácil de entender por inteiro.
- Evitar aninhamento profundo — retornos antecipados eliminam pirâmides de condicionais.
- DRY com moderação — remova duplicação real de conhecimento, não coincidências de código que evoluirão em direções diferentes.
- Comentários explicam o porquê — o código já diz o quê; o comentário deve registrar a decisão que não é óbvia.
- Tratamento explícito de erro — falhas silenciosas transformam bugs simples em investigações longas.
As críticas — que também têm razão
Vale conhecer o contraponto, porque a aplicação dogmática causa problemas reais. Fragmentar demais o código em funções minúsculas pode reduzir a legibilidade, obrigando a saltar por dez arquivos para entender um fluxo. Abstrair cedo demais, antes de saber como o requisito vai evoluir, produz abstrações erradas que custam mais que a duplicação que evitariam. E "limpo" tem um componente subjetivo que o livro apresenta como universal.
A leitura mais equilibrada trata os princípios como heurísticas, não regras. O objetivo real não é atingir uma estética específica, e sim reduzir o custo de mudar o software amanhã. Quando um princípio aumenta esse custo, ele deve ceder.
Como aplicar na prática
Ferramentas automatizam a parte mecânica: linters detectam problemas estruturais e formatadores como Prettier encerram debates de estilo. Isso libera a revisão de código para o que importa — clareza de intenção, nomes adequados e decisões de design. A regra do escoteiro resume bem a abordagem incremental: deixe o código um pouco melhor do que o encontrou.
## faq
Perguntas frequentes
Clean Code deixa o código mais lento?
Raramente de forma perceptível. Compiladores e interpretadores modernos otimizam agressivamente, e a maioria dos gargalos está em acesso a banco, rede ou algoritmos mal escolhidos — não em ter funções pequenas. Quando há conflito real, medido com profiler, a performance vence no trecho crítico.
Comentários são ruins?
Não; comentários que explicam o que o código já diz é que são. O comentário valioso registra o porquê: uma decisão contraintuitiva, uma restrição de negócio, o motivo de um contorno. Esses o código não consegue expressar sozinho.
Vale refatorar código legado que funciona?
De forma oportunista, sim: melhore o que você precisa tocar de qualquer maneira. Refatoração ampla de código estável e sem testes é risco alto com retorno incerto. A ordem recomendada é escrever testes primeiro, depois refatorar com a rede de proteção montada.