SlideShare une entreprise Scribd logo
1  sur  113
Télécharger pour lire hors ligne
TDDeCleanCode,garantiadeum
desenvolvimentosaudável
Maurício Andreazza Sganderla
• Desenvolvedor na
• Aficionado por Agile
• No mercado de T.I. há 8 anos
• Formado em Sistemas de Informação
• Pós-Graduando em Métodos Ágeis
Jorge Oleques
• Desenvolvedor na
• Entusiasta XP
• No mercado de T.I. há 6 anos
• Formado Analise e Desenvolvimento
• Pós-Graduando em Eng. Software na FGV
Quando uma pessoa não é
considerada saudável ?
Está acima do peso
Fuma
Alimentação desequilibrada
E o que o médico recomenda ?
Alimentação saudável
Praticar esportes
beber bastante água
Mas qual a relação?
sistema complexo
Estrutura
O que recomendamos
TDD + Clean Code !
Caos x prazo final
Hummmm!
Assim vou expor bem cedo
minhas incertezas e sem a
pressão da entrega.
E se eu desenvolver esse
código de uma maneira limpa e
clara?
Então quando eu for dar
manutenção ou tiver que evoluir
ele ...
... estará fácil de entender e ao
mesmo tempo estarei garantido
pelos testes.
É assim que eu quero
trabalhar. Mas como eu
faço TDD com Clean
Code?
Mas o que é um código Limpo?
"Além de seu criador, um desenvolvedor pode ler e
melhorar um código limpo..."(Dave Thomas)
"Um código limpo é simples e direto..."(Grady Boock)
"Você sabe que está criando um código limpo quando
cada rotina que você lê se mostra como você
esperava ..."(Ward Cunninghan)
"Expressa todas as idéias do projeto que estão no
sistema ...."(Ron Jeffries)
"Além de seu criador, um desenvolvedor pode ler e
melhorar um código limpo..."(Dave Thomas)
"Um código limpo é simples e direto..."(Grady Boock)
"Você sabe que está criando um código limpo quando
cada rotina que você lê se mostra como você
esperava ..."(Ward Cunninghan)
"Expressa todas as idéias do projeto que estão no
sistema ...."(Ron Jeffries)
0
100
Produtividade
Tempo
Produtividade x tempo
Atitude
Reclamar ajuda?
regra do escoteiro
Mão na massa
Nomes significativos
Revelar intenções
Nomes Descritivos
Faça apenas uma coisa
Algo estranho
bons comentários
maus comentários
Mudança de paradigma
Não é mágico
Prática de auxílio
Através do teste unitário
Acelera o feedback
Através do teste unitárioSiga o mantra
Faça falhar
Não tenha medo!
Resolva de maneira simples
Baby steps
mas cuidado
Simples <> Melhor
Confiante
Escute seu teste
Alguns sintomas
Alto acoplamento
baixa coesão
baixa coesão
Refatore
Pequeno ajuste
boas práticasBOAS PRÁTICAS
Nomes Representativos
Você decifrando testes
Nomes Representativos
data builders
data builders
Estrutura: like bdd
Suíte Atualizada
Juntando tudo !!!
O CENÁRIO
Temos o que evoluir no
código ?
Hora de evoluir
Só prejuízo....
CRIANÇA PAGA METADE !
Mas dá tempo?
Le grand finale....
VAMOS DISCUTIR?
referências
obrigado !!!
@m_andreazza
msganderla@umov.me
mauricioweb
http://umovme.cc
@joqueles
joleques@umov.me
joleques
http://umovme.cc

Contenu connexe

Tendances

Introdução ao TDD (Test-Driven Development) - #guma10anos
Introdução ao TDD (Test-Driven Development) - #guma10anosIntrodução ao TDD (Test-Driven Development) - #guma10anos
Introdução ao TDD (Test-Driven Development) - #guma10anosDionatan default
 
Caipira ágil 2016 - Melhorando nossas decisões
Caipira ágil 2016 - Melhorando nossas decisõesCaipira ágil 2016 - Melhorando nossas decisões
Caipira ágil 2016 - Melhorando nossas decisõesJose Guedes
 
TDD: A Essência do Mantra
TDD: A Essência do MantraTDD: A Essência do Mantra
TDD: A Essência do MantraDionatan default
 
O que faz (ou não) um tester no mundo ágil
O que faz (ou não) um tester no mundo ágilO que faz (ou não) um tester no mundo ágil
O que faz (ou não) um tester no mundo ágilSamanta Cicilia
 
Como eu aprendi que testar software é importante?
Como eu aprendi que testar software é importante?Como eu aprendi que testar software é importante?
Como eu aprendi que testar software é importante?Maurício Aniche
 
TDD direto das trincheiras
TDD direto das trincheirasTDD direto das trincheiras
TDD direto das trincheirasLuiz Borba
 
Desenvolvimento produtos
Desenvolvimento produtosDesenvolvimento produtos
Desenvolvimento produtosIvan Tonet
 

Tendances (7)

Introdução ao TDD (Test-Driven Development) - #guma10anos
Introdução ao TDD (Test-Driven Development) - #guma10anosIntrodução ao TDD (Test-Driven Development) - #guma10anos
Introdução ao TDD (Test-Driven Development) - #guma10anos
 
Caipira ágil 2016 - Melhorando nossas decisões
Caipira ágil 2016 - Melhorando nossas decisõesCaipira ágil 2016 - Melhorando nossas decisões
Caipira ágil 2016 - Melhorando nossas decisões
 
TDD: A Essência do Mantra
TDD: A Essência do MantraTDD: A Essência do Mantra
TDD: A Essência do Mantra
 
O que faz (ou não) um tester no mundo ágil
O que faz (ou não) um tester no mundo ágilO que faz (ou não) um tester no mundo ágil
O que faz (ou não) um tester no mundo ágil
 
Como eu aprendi que testar software é importante?
Como eu aprendi que testar software é importante?Como eu aprendi que testar software é importante?
Como eu aprendi que testar software é importante?
 
TDD direto das trincheiras
TDD direto das trincheirasTDD direto das trincheiras
TDD direto das trincheiras
 
Desenvolvimento produtos
Desenvolvimento produtosDesenvolvimento produtos
Desenvolvimento produtos
 

En vedette

Teoría de la investigación
Teoría de la investigaciónTeoría de la investigación
Teoría de la investigaciónkevinyepez
 
Diapositivas 1 er dia recreativo en confandi
Diapositivas 1 er dia recreativo en confandiDiapositivas 1 er dia recreativo en confandi
Diapositivas 1 er dia recreativo en confandijessicajocortescas95
 
Importância Cultural das Refeições
Importância Cultural das RefeiçõesImportância Cultural das Refeições
Importância Cultural das Refeiçõescomerontemehoje
 
Apresentação Projeto Geração Jogo Limpo (Almirante Tamandaré, PR)
Apresentação Projeto Geração Jogo Limpo (Almirante Tamandaré, PR)Apresentação Projeto Geração Jogo Limpo (Almirante Tamandaré, PR)
Apresentação Projeto Geração Jogo Limpo (Almirante Tamandaré, PR)mc2312
 
Trabalho de h.g.p: a sociedadade no século XIX
Trabalho de h.g.p:  a sociedadade no século XIXTrabalho de h.g.p:  a sociedadade no século XIX
Trabalho de h.g.p: a sociedadade no século XIXMarilia Ferreira
 
Blog hgp1
Blog hgp1Blog hgp1
Blog hgp1ogoid17
 
Geead 28-09-2011: Progressão dos espíritos
Geead 28-09-2011: Progressão dos espíritosGeead 28-09-2011: Progressão dos espíritos
Geead 28-09-2011: Progressão dos espíritosGeead Abu Dhabi
 
Maneiras à Mesa de Antigamente e de Agora
Maneiras à Mesa de Antigamente e de AgoraManeiras à Mesa de Antigamente e de Agora
Maneiras à Mesa de Antigamente e de Agoracomerontemehoje
 
Consumidor e as marcas: a lógica por trás do sucesso (Karlan Muniz)
Consumidor e as marcas: a lógica por trás do sucesso (Karlan Muniz)Consumidor e as marcas: a lógica por trás do sucesso (Karlan Muniz)
Consumidor e as marcas: a lógica por trás do sucesso (Karlan Muniz)karlanmuniz
 
Ti2012 sesión 01
Ti2012   sesión 01Ti2012   sesión 01
Ti2012 sesión 01Carlos_VF
 
Βιταμίνη C
Βιταμίνη CΒιταμίνη C
Βιταμίνη CBetterMe
 
Fiebre dolor-inflamacion (fisiologia)
Fiebre dolor-inflamacion (fisiologia)Fiebre dolor-inflamacion (fisiologia)
Fiebre dolor-inflamacion (fisiologia)saeliaslopezhernandez
 
Jogo do Quebra-Cabeça
Jogo do Quebra-CabeçaJogo do Quebra-Cabeça
Jogo do Quebra-CabeçaLeofest0320
 
Informe de practica Gimnasio Los Alcázares
Informe de practica Gimnasio Los AlcázaresInforme de practica Gimnasio Los Alcázares
Informe de practica Gimnasio Los AlcázaresMichael Cardona
 

En vedette (20)

Teoría de la investigación
Teoría de la investigaciónTeoría de la investigación
Teoría de la investigación
 
Diapositivas 1 er dia recreativo en confandi
Diapositivas 1 er dia recreativo en confandiDiapositivas 1 er dia recreativo en confandi
Diapositivas 1 er dia recreativo en confandi
 
Proba
ProbaProba
Proba
 
Trabalho de f.q pdf
Trabalho de f.q pdfTrabalho de f.q pdf
Trabalho de f.q pdf
 
Importância Cultural das Refeições
Importância Cultural das RefeiçõesImportância Cultural das Refeições
Importância Cultural das Refeições
 
Pinhole
PinholePinhole
Pinhole
 
Apresentação Projeto Geração Jogo Limpo (Almirante Tamandaré, PR)
Apresentação Projeto Geração Jogo Limpo (Almirante Tamandaré, PR)Apresentação Projeto Geração Jogo Limpo (Almirante Tamandaré, PR)
Apresentação Projeto Geração Jogo Limpo (Almirante Tamandaré, PR)
 
Trabalho de h.g.p: a sociedadade no século XIX
Trabalho de h.g.p:  a sociedadade no século XIXTrabalho de h.g.p:  a sociedadade no século XIX
Trabalho de h.g.p: a sociedadade no século XIX
 
Blog hgp1
Blog hgp1Blog hgp1
Blog hgp1
 
Geead 28-09-2011: Progressão dos espíritos
Geead 28-09-2011: Progressão dos espíritosGeead 28-09-2011: Progressão dos espíritos
Geead 28-09-2011: Progressão dos espíritos
 
Maneiras à Mesa de Antigamente e de Agora
Maneiras à Mesa de Antigamente e de AgoraManeiras à Mesa de Antigamente e de Agora
Maneiras à Mesa de Antigamente e de Agora
 
Consumidor e as marcas: a lógica por trás do sucesso (Karlan Muniz)
Consumidor e as marcas: a lógica por trás do sucesso (Karlan Muniz)Consumidor e as marcas: a lógica por trás do sucesso (Karlan Muniz)
Consumidor e as marcas: a lógica por trás do sucesso (Karlan Muniz)
 
Transp 978850209530 1
Transp 978850209530 1Transp 978850209530 1
Transp 978850209530 1
 
Ti2012 sesión 01
Ti2012   sesión 01Ti2012   sesión 01
Ti2012 sesión 01
 
Βιταμίνη C
Βιταμίνη CΒιταμίνη C
Βιταμίνη C
 
Placas
PlacasPlacas
Placas
 
Fiebre dolor-inflamacion (fisiologia)
Fiebre dolor-inflamacion (fisiologia)Fiebre dolor-inflamacion (fisiologia)
Fiebre dolor-inflamacion (fisiologia)
 
Jogo do Quebra-Cabeça
Jogo do Quebra-CabeçaJogo do Quebra-Cabeça
Jogo do Quebra-Cabeça
 
España!
España!España!
España!
 
Informe de practica Gimnasio Los Alcázares
Informe de practica Gimnasio Los AlcázaresInforme de practica Gimnasio Los Alcázares
Informe de practica Gimnasio Los Alcázares
 

Similaire à TDD e Clean Code, garantia de um desenvolvimento saudável

XP Conf BR: eXtreme Programming para programadores. Aplicando XP em seu código!
XP Conf BR: eXtreme Programming para programadores. Aplicando XP em seu código!XP Conf BR: eXtreme Programming para programadores. Aplicando XP em seu código!
XP Conf BR: eXtreme Programming para programadores. Aplicando XP em seu código!Mauricio Andreazza
 
Testador Tipo T
Testador Tipo TTestador Tipo T
Testador Tipo TGTS-CE
 
Sobre TDD - Tech Friday da Everis Uberlândia
Sobre TDD - Tech Friday da Everis UberlândiaSobre TDD - Tech Friday da Everis Uberlândia
Sobre TDD - Tech Friday da Everis UberlândiaRogerio Fontes
 
Carreira em testes de software
Carreira em testes de softwareCarreira em testes de software
Carreira em testes de softwareJoyce Bastos
 
Compilar Não Basta: Escreva código para pessoas e não apenas para máquinas - ...
Compilar Não Basta: Escreva código para pessoas e não apenas para máquinas - ...Compilar Não Basta: Escreva código para pessoas e não apenas para máquinas - ...
Compilar Não Basta: Escreva código para pessoas e não apenas para máquinas - ...Edlaine Zamora
 
Euquipe, evoluindo como dev
Euquipe, evoluindo como devEuquipe, evoluindo como dev
Euquipe, evoluindo como devAlan Zanatta
 
DevOps.pdf
DevOps.pdfDevOps.pdf
DevOps.pdfPyCaxias
 
Caminho Do Desenvolvedor Amador Para o Profissional
Caminho Do Desenvolvedor Amador Para o ProfissionalCaminho Do Desenvolvedor Amador Para o Profissional
Caminho Do Desenvolvedor Amador Para o ProfissionalGiovanni Bassi
 
O mundo da agilidade
O mundo da agilidadeO mundo da agilidade
O mundo da agilidadeThiago Burgos
 
Introdução ao TDD nas soluções Global AppCasting
Introdução ao TDD nas soluções Global AppCastingIntrodução ao TDD nas soluções Global AppCasting
Introdução ao TDD nas soluções Global AppCastingPedro Pereira Martins
 
Construindo bons relacionamentos entre desenvolvedores e testadores
Construindo bons relacionamentos entre desenvolvedores e testadoresConstruindo bons relacionamentos entre desenvolvedores e testadores
Construindo bons relacionamentos entre desenvolvedores e testadoresGabriel Oliveira
 
Atitudes ágeis nas fases de um projeto de software - 2013
Atitudes ágeis nas fases de um projeto de software - 2013Atitudes ágeis nas fases de um projeto de software - 2013
Atitudes ágeis nas fases de um projeto de software - 2013Gustavo Piccin
 
[GUTS-RS]​ Evento Maio 2018 - Carreira na área de Testes
[GUTS-RS]​ Evento Maio 2018 - Carreira na área de Testes[GUTS-RS]​ Evento Maio 2018 - Carreira na área de Testes
[GUTS-RS]​ Evento Maio 2018 - Carreira na área de TestesGUTS-RS
 
Nem só de cultura vive o DevOps - Campus Party
Nem só de cultura vive o DevOps - Campus PartyNem só de cultura vive o DevOps - Campus Party
Nem só de cultura vive o DevOps - Campus PartyTalita Bernardes Pereira
 

Similaire à TDD e Clean Code, garantia de um desenvolvimento saudável (20)

XP Conf BR: eXtreme Programming para programadores. Aplicando XP em seu código!
XP Conf BR: eXtreme Programming para programadores. Aplicando XP em seu código!XP Conf BR: eXtreme Programming para programadores. Aplicando XP em seu código!
XP Conf BR: eXtreme Programming para programadores. Aplicando XP em seu código!
 
Extreme programming explicada
Extreme programming explicadaExtreme programming explicada
Extreme programming explicada
 
Extreme Programming Explicada
Extreme Programming ExplicadaExtreme Programming Explicada
Extreme Programming Explicada
 
Testador Tipo T
Testador Tipo TTestador Tipo T
Testador Tipo T
 
Testador tipo t
Testador tipo tTestador tipo t
Testador tipo t
 
Sobre TDD - Tech Friday da Everis Uberlândia
Sobre TDD - Tech Friday da Everis UberlândiaSobre TDD - Tech Friday da Everis Uberlândia
Sobre TDD - Tech Friday da Everis Uberlândia
 
Carreira em testes de software
Carreira em testes de softwareCarreira em testes de software
Carreira em testes de software
 
Compilar Não Basta: Escreva código para pessoas e não apenas para máquinas - ...
Compilar Não Basta: Escreva código para pessoas e não apenas para máquinas - ...Compilar Não Basta: Escreva código para pessoas e não apenas para máquinas - ...
Compilar Não Basta: Escreva código para pessoas e não apenas para máquinas - ...
 
O que é ser um bom programador?
O que é ser um bom programador?O que é ser um bom programador?
O que é ser um bom programador?
 
Euquipe, evoluindo como dev
Euquipe, evoluindo como devEuquipe, evoluindo como dev
Euquipe, evoluindo como dev
 
DevOps.pdf
DevOps.pdfDevOps.pdf
DevOps.pdf
 
Caminho Do Desenvolvedor Amador Para o Profissional
Caminho Do Desenvolvedor Amador Para o ProfissionalCaminho Do Desenvolvedor Amador Para o Profissional
Caminho Do Desenvolvedor Amador Para o Profissional
 
O mundo da agilidade
O mundo da agilidadeO mundo da agilidade
O mundo da agilidade
 
Introdução ao TDD nas soluções Global AppCasting
Introdução ao TDD nas soluções Global AppCastingIntrodução ao TDD nas soluções Global AppCasting
Introdução ao TDD nas soluções Global AppCasting
 
Metodos Ageis
Metodos AgeisMetodos Ageis
Metodos Ageis
 
Construindo bons relacionamentos entre desenvolvedores e testadores
Construindo bons relacionamentos entre desenvolvedores e testadoresConstruindo bons relacionamentos entre desenvolvedores e testadores
Construindo bons relacionamentos entre desenvolvedores e testadores
 
Atitudes ágeis nas fases de um projeto de software - 2013
Atitudes ágeis nas fases de um projeto de software - 2013Atitudes ágeis nas fases de um projeto de software - 2013
Atitudes ágeis nas fases de um projeto de software - 2013
 
Agilidade no governo 02
Agilidade no governo 02Agilidade no governo 02
Agilidade no governo 02
 
[GUTS-RS]​ Evento Maio 2018 - Carreira na área de Testes
[GUTS-RS]​ Evento Maio 2018 - Carreira na área de Testes[GUTS-RS]​ Evento Maio 2018 - Carreira na área de Testes
[GUTS-RS]​ Evento Maio 2018 - Carreira na área de Testes
 
Nem só de cultura vive o DevOps - Campus Party
Nem só de cultura vive o DevOps - Campus PartyNem só de cultura vive o DevOps - Campus Party
Nem só de cultura vive o DevOps - Campus Party
 

Plus de Jorge Oleques

Todo Super-herói tem suas fraquezas. Saiba como o Super-Agile foi derrotado.
Todo Super-herói tem suas fraquezas. Saiba como o Super-Agile foi derrotado.Todo Super-herói tem suas fraquezas. Saiba como o Super-Agile foi derrotado.
Todo Super-herói tem suas fraquezas. Saiba como o Super-Agile foi derrotado.Jorge Oleques
 
Lei de Demeter parte
Lei de Demeter parteLei de Demeter parte
Lei de Demeter parteJorge Oleques
 
Introdução Domain-Driven-Design
Introdução Domain-Driven-Design Introdução Domain-Driven-Design
Introdução Domain-Driven-Design Jorge Oleques
 
Apresentacao tdc 2012
Apresentacao tdc 2012Apresentacao tdc 2012
Apresentacao tdc 2012Jorge Oleques
 

Plus de Jorge Oleques (6)

Todo Super-herói tem suas fraquezas. Saiba como o Super-Agile foi derrotado.
Todo Super-herói tem suas fraquezas. Saiba como o Super-Agile foi derrotado.Todo Super-herói tem suas fraquezas. Saiba como o Super-Agile foi derrotado.
Todo Super-herói tem suas fraquezas. Saiba como o Super-Agile foi derrotado.
 
Lei de Demeter parte
Lei de Demeter parteLei de Demeter parte
Lei de Demeter parte
 
Introdução Domain-Driven-Design
Introdução Domain-Driven-Design Introdução Domain-Driven-Design
Introdução Domain-Driven-Design
 
TDD e Clean Code
TDD e Clean CodeTDD e Clean Code
TDD e Clean Code
 
Solid
SolidSolid
Solid
 
Apresentacao tdc 2012
Apresentacao tdc 2012Apresentacao tdc 2012
Apresentacao tdc 2012
 

TDD e Clean Code, garantia de um desenvolvimento saudável