professor (a)
CARLOS FUTINO
disciplina
DESIGN E ARQUITETURA DE
SOFTWARE
ELEMENTOS DO CLEAN CODE
Nomes Significativos
Funções
Comentários
Formatação
Objetos e Estruturas de Dados
Tratamento de Erros
Fronteiras
ELEMENTOS DO CLEAN CODE
Nomes Significativos
Funções
Comentários
Formatação
Objetos e Estruturas de Dados
Tratamento de Erros
Fronteiras
ELEMENTOS DO CLEAN CODE
Testes Unitários
Classes
Sistemas
Emergência
Concorrência
Code Smells
FORMATAÇÃO
Formatação é
importante!
Formatação é sobre
comunicação!
FORMATAÇÃO
• Metáfora do Jornal • Abertura e
Formatação
Vertical
Formatação
Horizontal
• Abertura Vertical Densidade
• Densidade Vertical Horizontais
• Distância Vertical • Alinhamento
Horizontal
• Ordenação Vertical
• Identação
• Escopos falsos
OBJETOS E ESTRUTURAS DE DADOS
Abstração
Antissimetria
Lei de Demeter
DTOs
TRATAMENTO DE ERROS
Exceções ao invés de códigos de retorno
Comece pelo try-catch-finally
Use exceções não checadas
Forneça contexto com exceções
Defina classes de exceções em termos de necessidades
Defina o fluxo normal
Não retorne null
Não passe null
CLASSES
Organização
Classes devem ser pequenas
Organização para mudança
CODE SMELLS
Sinais de problemas
Não são problemas em si
Mas indicam coisas que devem ser reavaliados
CODE SMELLS
Comentários Ambiente Funções
• Informação imprópria • Build ou teste precisam • Muitos Argumentos
• Comentário obsoleto mais de um passo • Argumentos de Saída
• Comentário redundante • Argumentos de Flag
• Comentário mal escrito • Funções mortas
• Código comentado