Escolar Documentos
Profissional Documentos
Cultura Documentos
Clean Code
Técnica para um código limpo
Rodrigo Kono
MVP, MCTS, MCPD, MCT, MCP
@rodrigokono
www.rodrigokono.net
Há duas razões pelas quais
você está nesta palestra:
1. Você é um programador
2. Deseja se tornar um ainda melhor.
ÓTIMO! PRECISAMOS DE
PROGRAMADORES MELHORES
Robert C. Martin
The Clean Coder
Martin Fowler
Funcionar é o mínimo que se espera
Ah! Mas o cronograma é
apertado.
int tempoTranscorridoEmDias;
int diasDesdeCriacaoDoArquivo;
int diasDesdeModificacaoDoArquivo;
int idadeDoArquivoEmDias;
Use nomes que revelem a intenção
Nomes significativos
class DtaRcrd102
{
private DateTime gerdmahms;
private DateTime moddmahms;
private string pszqint = "102";
}
class Cliente
{
private DateTime gerarDataHora;
private DateTime modificarDataHora;
private string idRegistro = "102";
}
Use nomes buscáveis
Nomes significativos
for (int j = 0; j < 30; j++)
{
s = (t[j]*4)/5;
}
soma += taredasPorSemana;
}
Nomeando classes e métodos
Nomes significativos
Classes
representadas por substantivos
ex: Cliente, Perfil, Estoque, etc
Métodos
representadas por verbos ou frases verbais
ex: enviarPagamento, salvar, etc.
FUNÇÕES
Seja pequeno
Funções
• Menos é mais!
• Extraia trechos em métodos privados.
• Lembre-se dos nomes significativos
• Vá direto ao ponto.
Funções
Faça uma coisa só!
Funções
• Métodos de C
• Objetos criados por M
• Objetos passados como argumentos para M
• Objetos em variáveis de instâncias de C
Demeter Law
M
TRATAMENTO DE ERRO
Exceções ao invés de
código de erro.
Tratamento de erro
Tratamento de erro
Tratamento de exceção é uma das
coisas que um método ou função faz
Não use exceções genéricas
Não retorne null
Tratamento de erro
• Obriga o uso de if
• Pode disparar NullPointerException
• Considere: Lançar exceção ou retornar um objeto especial
Não passe null
REGRA DOS ESCOTEIROS
Fique atento.
Falar é fácil!
Hendrik Ebel
http://www.slideshare.net/hebel
contato@rodrigokono.net