71
TDD e Clean Code

TDD e Clean Code

Embed Size (px)

Citation preview

Page 1: TDD e Clean Code

TDDe

Clean Code

Page 2: TDD e 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

Page 3: TDD e Clean Code

TDDTest Driven Development

Page 4: TDD e Clean Code

Criador

Page 5: TDD e Clean Code

“Comece pelos testes...”

Page 6: TDD e Clean Code

Todo palestrante fala isso!

Page 7: TDD e Clean Code

Mas como assim pelos testes?

Page 8: TDD e Clean Code

Critérios e User story são seus aliados

Page 9: TDD e Clean Code

Mapa do Tesouro

Page 10: TDD e Clean Code

Lembre-se

Page 11: TDD e Clean Code

Entenda o critério

Page 12: TDD e Clean Code

Faça falhar !

Page 13: TDD e Clean Code

Resolva de forma simples !

Page 14: TDD e Clean Code

Escute seu teste

Page 15: TDD e Clean Code

Refatore

Page 16: TDD e Clean Code

Reinicie o ciclo

Page 17: TDD e Clean Code

• Acabou ! Acabou !• Foto do galvão

Acabou, acabou !

Page 18: TDD e Clean Code

Evolua seu design

Page 19: TDD e Clean Code

E sem medo

Page 20: TDD e Clean Code

Pois você está protegido

Page 21: TDD e Clean Code

Tenha seu cinto de ferramentas

Page 22: TDD e Clean Code

Meu cinto de ferramentas

Page 23: TDD e Clean Code

Atinja o objetivo

Page 24: TDD e Clean Code

Clean Code

Page 25: TDD e Clean Code

O cara

Page 26: TDD e Clean Code

Por que Clean Code

Page 27: TDD e Clean Code

Lendo Código

Page 28: TDD e Clean Code
Page 29: TDD e Clean Code

Bagunça

Page 30: TDD e Clean Code

Insatisfação com a bagunça

Page 31: TDD e Clean Code

Insatisfação com o teu código

Page 32: TDD e Clean Code

Medo

Page 33: TDD e Clean Code

Impotência

Page 34: TDD e Clean Code

O que ou Como fazer?

Page 35: TDD e Clean Code

Nada, que se foda não foi eu quem fez

hahahahahahahahhahahaha

Page 36: TDD e Clean Code
Page 37: TDD e Clean Code

Profissional

Page 38: TDD e Clean Code

O que ou Como fazer?

Page 39: TDD e Clean Code

Iniciar certo

Page 40: TDD e Clean Code

Baby Step

Page 41: TDD e Clean Code

Como fazer?

Page 42: TDD e Clean Code

Com clean code? Mas o que é Clean code?

Page 43: TDD e Clean Code

Fazer com cuidado

Page 44: TDD e Clean Code

Revelar intenção

Page 45: TDD e Clean Code

Fácil de entender

Page 46: TDD e Clean Code

Satisfação

Page 47: TDD e Clean Code
Page 48: TDD e Clean Code

Simplicidade

Page 49: TDD e Clean Code

Simplicidade

Page 50: TDD e Clean Code

"Qualquer idiota é capaz de escrever código que um computador possa entender. Bons programadores

escrevem código que seres humanos podem entender”(Martin Fowler)

Page 51: TDD e Clean Code

Benefícios

Page 52: TDD e Clean Code

Refatoração

Page 53: TDD e Clean Code

Manutenção

Page 54: TDD e Clean Code

Custo

Page 55: TDD e Clean Code

Mito

Page 56: TDD e Clean Code

Diminuir BUGs

Page 57: TDD e Clean Code
Page 58: TDD e Clean Code

Exemplos

Page 59: TDD e Clean Code

// valor salarioprivate BigDecimal vl;

// total da comprapublic BigDecimal s1;

// descricao do produtopublic void desc;

Page 60: TDD e Clean Code

private BigDecimal valorSalario;

public BigDecimal totalCompra;

public void descricaoProduto;

Page 61: TDD e Clean Code

private BigDecimal valorSalario;public BigDecimal totalCompra;public void descricaoProduto;

Page 62: TDD e Clean Code

// calcular imposto de rendapublic void calcular();

// total a pagar para funcionáriospublic BigDecimal total();

// gerar relatório dos beneficiospublic void gerar();

Page 63: TDD e Clean Code

public void calcularImpostoDeRenda();

public BigDecimal totalPagarFuncionarios();

public void gerarRelatoriosBeneficios();

Page 64: TDD e Clean Code

public void calcularImpostoDeRenda();public BigDecimal totalPagarFuncionarios();public void gerarRelatoriosBeneficios();

Page 65: TDD e Clean Code

//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; }}

Page 66: TDD e Clean Code

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; }}

Page 67: TDD e Clean Code

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;}

Page 68: TDD e Clean Code

public void calcularFreteDaEntrega(){ if(naoTemFrete()){

this.taxa = this.valorCompra * 0; } else{

this.taxa = this. valorCompra * 0.03; }}

private boolean naoTemFrete(){ return this.distancia < 2100;}

Page 69: TDD e Clean Code

public void calcularFreteDaEntrega(){ this.taxa = 0; if(temFrete()) this.taxa = this. valorCompra * PERCENTUAL_CALCULO;}

private boolean temFrete(){ return this.distancia > DISTANCIA_MINIMA;}

Page 70: TDD e Clean Code
Page 71: TDD e Clean Code

@m_andreazza

/mauricio.webdev

/mauricioweb

@jorgeoleques

/joleques

/joleques

Maurício Andreazza Sganderla

Jorge Oleques