Upload
jorge-oleques
View
414
Download
1
Embed Size (px)
Citation preview
TDDe
Clean Code
Maurício Andreazza Sganderla• Desenvolvedor na uMov.me• Aficionado por Agile• No mercado de T.I. há 8 anos• Formado em Sistemas de Informação
Jorge Oleques• Desenvolvedor na GetNet• Entusiasta XP• No mercado de T.I. há 6 anos• Formado Analise e Desenvolvimento• Pós-Graduando em Eng Software na FGV
TDDTest Driven Development
Criador
“Comece pelos testes...”
Todo palestrante fala isso!
Mas como assim pelos testes?
Critérios e User story são seus aliados
Mapa do Tesouro
Lembre-se
Entenda o critério
Faça falhar !
Resolva de forma simples !
Escute seu teste
Refatore
Reinicie o ciclo
• Acabou ! Acabou !• Foto do galvão
Acabou, acabou !
Evolua seu design
E sem medo
Pois você está protegido
Tenha seu cinto de ferramentas
Meu cinto de ferramentas
Atinja o objetivo
Clean Code
O cara
Por que Clean Code
Lendo Código
Bagunça
Insatisfação com a bagunça
Insatisfação com o teu código
Medo
Impotência
O que ou Como fazer?
Nada, que se foda não foi eu quem fez
hahahahahahahahhahahaha
Profissional
O que ou Como fazer?
Iniciar certo
Baby Step
Como fazer?
Com clean code? Mas o que é Clean code?
Fazer com cuidado
Revelar intenção
Fácil de entender
Satisfação
Simplicidade
Simplicidade
"Qualquer idiota é capaz de escrever código que um computador possa entender. Bons programadores
escrevem código que seres humanos podem entender”(Martin Fowler)
Benefícios
Refatoração
Manutenção
Custo
Mito
Diminuir BUGs
Exemplos
// valor salarioprivate BigDecimal vl;
// total da comprapublic BigDecimal s1;
// descricao do produtopublic void desc;
private BigDecimal valorSalario;
public BigDecimal totalCompra;
public void descricaoProduto;
private BigDecimal valorSalario;public BigDecimal totalCompra;public void descricaoProduto;
// calcular imposto de rendapublic void calcular();
// total a pagar para funcionáriospublic BigDecimal total();
// gerar relatório dos beneficiospublic void gerar();
public void calcularImpostoDeRenda();
public BigDecimal totalPagarFuncionarios();
public void gerarRelatoriosBeneficios();
public void calcularImpostoDeRenda();public BigDecimal totalPagarFuncionarios();public void gerarRelatoriosBeneficios();
//calcular frete da entregapublic void calcular(){ // menor que 2100 km não possui frete if(this.distancia < 2100 ){
this.taxa = this.valorCompra * 0; } else{
this.taxa = this. valorCompra * 0.03; }}
public void calcularFreteDaEntrega(){ // menor que 2100 km não possui frete if(this.distancia < 2100 ){
this.taxa = this.valorCompra * 0; } else{
this.taxa = this. valorCompra * 0.03; }}
public void calcularFreteDaEntrega(){ // menor que 2100 km não possui frete if(this.distancia < 2100 ){
this.taxa = this.valorCompra * 0; } else{
this.taxa = this. valorCompra * 0.03; }}
private boolean naoTemFrete(){ return this.distancia < 2100;}
public void calcularFreteDaEntrega(){ if(naoTemFrete()){
this.taxa = this.valorCompra * 0; } else{
this.taxa = this. valorCompra * 0.03; }}
private boolean naoTemFrete(){ return this.distancia < 2100;}
public void calcularFreteDaEntrega(){ this.taxa = 0; if(temFrete()) this.taxa = this. valorCompra * PERCENTUAL_CALCULO;}
private boolean temFrete(){ return this.distancia > DISTANCIA_MINIMA;}
@m_andreazza
/mauricio.webdev
/mauricioweb
@jorgeoleques
/joleques
/joleques
Maurício Andreazza Sganderla
Jorge Oleques