tdd e clean code

Post on 28-Jun-2015

414 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

top related