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ípio | Descrição |
---|---|
S - Single Responsibility | Cada módulo deve ter uma única razão para mudar |
O - Open/Closed | Entidades abertas para extensão, fechadas para modificação |
L - Liskov Substitution | Subclasses devem ser substituíveis pelas superclasses |
I - Interface Segregation | Prefira várias interfaces pequenas do que uma grande |
D - Dependency Inversion | Dependa 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)