Pular para o conteúdo principal

Clean Code

Clean Code é um conjunto de boas práticas para escrever códigos:

  • Legíveis
  • Simples
  • Fáceis de manter
  • Expressivos (autoexplicativos)

Baseado nos princípios do livro "Clean Code" de Robert C. Martin (Uncle Bob).


Princípios Fundamentais

1. Nomes que revelam intenção

  • Use nomes descritivos para variáveis, métodos e classes
// Ruim
let d = 10;

// Bom
let diasParaExpirar = 10;

2. Funções pequenas e responsabilidade única

  • Uma função deve fazer uma coisa só e bem

3. Evite comentários desnecessários

  • Comentários são sinais de que o código pode estar confuso
  • Prefira código claro a comentários explicativos

4. Tratamento de erros com exceções, não códigos de erro

// Ruim
if (retorno == -1) {
// trata erro
}

// Bom
try {
processarPagamento();
} catch (PagamentoInvalidoException e) {
// trata erro
}

5. Evite código morto

  • Código comentado, não utilizado, ou legado deve ser removido

6. Objetos e dados

  • Priorize encapsulamento e evite getters e setters expostos desnecessariamente

7. Formatação e estilo

  • Use convenções de indentacão e espaçamento para clareza
  • Separe lógicas com linhas em branco

💡 Princípios SOLID aplicados ao Clean Code

PrincípioDescrição
S - Single ResponsibilityCada módulo deve ter uma única razão para mudar
O - Open/ClosedEntidades abertas para extensão, fechadas para modificação
L - Liskov SubstitutionSubclasses devem ser substituíveis pelas superclasses
I - Interface SegregationPrefira várias interfaces pequenas do que uma grande
D - Dependency InversionDependa de abstrações, não de implementações

🧼 "Regra do Escoteiro"

"Sempre deixe o código melhor do que encontrou."

Ex: renomear variáveis, extrair métodos, eliminar duplicidade.


🧪 Testes e Clean Code

  • O código limpo é testável
  • Estrutura clara facilita a escrita de testes unitários

🚨 Code Smells ("cheiros de código ruim")

  • Métodos longos
  • Métodos com muitos parâmetros
  • Condicionais aninhadas
  • Código duplicado
  • Classes que fazem "de tudo um pouco"

O polimorfismo é uma técnica importante que pode tornar o código mais claro e fácil de entender!


🎯 Checklist Clean Code

  • Os nomes são claros e descritivos?
  • Funções pequenas e focadas?
  • Sem código morto ou comentado?
  • Tratamento de erro por exceções?
  • Estilo consistente (indentacção, espaços)?
  • Segue a Regra do Escoteiro?

📝 Questões Cebraspe recentes sobre Clean Code

PC-DF 2025

"A regra do escoteiro é um princípio do clean code que determina que o código precisa estar mais limpo do que estava antes." ✅ Certa

SERPRO 2023

"O princípio de Segregação de Interface está relacionado à responsividade e multiplaforma." ❌ Errada (confunde com responsividade de UI)