SlideShare uma empresa Scribd logo
1 de 20
Alexandre
Rodrigues
Programador apaixonado pelo que faz, atuando a 14 anos
na área de desenvolvimento de software nos setores de
gestão da cadeia logística (supply chain), mercado de
capitais, judiciário rio-grandense, automação industrial,
comunicação entre dispositivos eletrônicos e
desenvolvimento de sistemas para controle de produção
para diversas indústrias da região metropolitana de Porto
Alegre
Codificação Defensiva
vs
Codificação Reativa!
OU
Evite de entupir
o projeto de
#@$X%
Mas o que é
#@$X%
afinal???
Tipo:
“Vou salvar todos
esses dados
porque posso
precisar no
futuro...”
Esses dados
serão realmente
utilizados!?
Persista os
dados quando
eles forem
realmente úteis
Tipo:
“Vou criar essa
funcionalidade
para flexibilizar
a aplicação...”
Essa
funcionalidade
realmente agrega
valor ao
projeto????
Crie a
funcionalidade
quando ela
realmente for
ser utilizada!!!
Tipo:
“Vou generalizar
isso porque posso
precisar depois...”
A generalização
realmente vai
ser utilizada?
Crie a
generalização
quando ela
realmente for
ser utilizada!!!
Tipo:
“Vou criar um framework
para formalizar e
ajudar no
desenvolvimento...”
NUNCA CRIE
FRAMEWORKS!!!!
SÉRIO!!!!
Pense no código
como um MVP
Reaja as mudanças,
não fique na
defensiva tentando
prevê-las
Obrigado!

Mais conteúdo relacionado

Semelhante a Codificação Defensiva vs Codificação Reativa!

Desenvolvendo Windows Store Apps
Desenvolvendo Windows Store AppsDesenvolvendo Windows Store Apps
Desenvolvendo Windows Store AppsThiago Coelho
 
Minicurso "Jogos Multiplataforma com Javascript"
Minicurso "Jogos Multiplataforma com Javascript"Minicurso "Jogos Multiplataforma com Javascript"
Minicurso "Jogos Multiplataforma com Javascript"Felipe Pedroso
 
Micro frontend de um jeito que você nunca viu
Micro frontend de um jeito que você nunca viuMicro frontend de um jeito que você nunca viu
Micro frontend de um jeito que você nunca viuWagner Souza
 
A importância de DDD e o Domain Model na construção de APIs!
A importância de DDD e o Domain Model na construção de APIs!A importância de DDD e o Domain Model na construção de APIs!
A importância de DDD e o Domain Model na construção de APIs!Isaac de Souza
 
Introdução ao Projeto de Plataformas de Software: o quê, por que, como
Introdução ao Projeto de Plataformas de Software: o quê, por que, comoIntrodução ao Projeto de Plataformas de Software: o quê, por que, como
Introdução ao Projeto de Plataformas de Software: o quê, por que, comoRodrigo Reis
 
Programadores. Quem são eles? Onde vivem? O que comem?
Programadores. Quem são eles? Onde vivem? O que comem?Programadores. Quem são eles? Onde vivem? O que comem?
Programadores. Quem são eles? Onde vivem? O que comem?Gabriel Pereira
 
Seu código fonte é sustentável?
Seu código fonte é sustentável?Seu código fonte é sustentável?
Seu código fonte é sustentável?Isaac de Souza
 
A Experiência como Vantagem Competitiva (UX) - Goiânia 2014
A Experiência como Vantagem Competitiva (UX) - Goiânia 2014A Experiência como Vantagem Competitiva (UX) - Goiânia 2014
A Experiência como Vantagem Competitiva (UX) - Goiânia 2014Horácio Soares
 
Agile br2011 lucabastos-prog10x-noiteagilcaelum
Agile br2011 lucabastos-prog10x-noiteagilcaelumAgile br2011 lucabastos-prog10x-noiteagilcaelum
Agile br2011 lucabastos-prog10x-noiteagilcaelumLuca Bastos
 
Trabalho colaborativo na entrega de software - case es na palma da mão
Trabalho colaborativo na entrega de software - case es na palma da mãoTrabalho colaborativo na entrega de software - case es na palma da mão
Trabalho colaborativo na entrega de software - case es na palma da mãoRenzo Colnago
 
Arquitetura e design de software
Arquitetura e design de softwareArquitetura e design de software
Arquitetura e design de softwareVitor Castro
 
Latinoware 2019 - DEsenvolvimento mobile em Nivel jedi
Latinoware 2019 - DEsenvolvimento mobile em Nivel jediLatinoware 2019 - DEsenvolvimento mobile em Nivel jedi
Latinoware 2019 - DEsenvolvimento mobile em Nivel jediAlessandro Binhara
 
Planejamento e Ativação de Aplicativos móveis
Planejamento e Ativação de Aplicativos móveisPlanejamento e Ativação de Aplicativos móveis
Planejamento e Ativação de Aplicativos móveisAlex Ivonika
 
Arquitetura de Software - Uma Visão Crítica
Arquitetura de Software - Uma Visão CríticaArquitetura de Software - Uma Visão Crítica
Arquitetura de Software - Uma Visão CríticaPedro Castilho
 
Webinar Usabilidade no E-commerce
Webinar Usabilidade no E-commerceWebinar Usabilidade no E-commerce
Webinar Usabilidade no E-commerceHorácio Soares
 
Segurança no Desenvolvimento WEB - Técnicas Profissionais
Segurança no Desenvolvimento WEB - Técnicas ProfissionaisSegurança no Desenvolvimento WEB - Técnicas Profissionais
Segurança no Desenvolvimento WEB - Técnicas ProfissionaisRubens Guimarães - MTAC MVP
 
Softwares e S.O. Livres na busca pela inovacao tecnologica - Felipe Alison
Softwares e S.O. Livres na busca pela inovacao tecnologica - Felipe AlisonSoftwares e S.O. Livres na busca pela inovacao tecnologica - Felipe Alison
Softwares e S.O. Livres na busca pela inovacao tecnologica - Felipe AlisonPotiLivre Sobrenome
 

Semelhante a Codificação Defensiva vs Codificação Reativa! (20)

Desenvolvendo Windows Store Apps
Desenvolvendo Windows Store AppsDesenvolvendo Windows Store Apps
Desenvolvendo Windows Store Apps
 
Minicurso "Jogos Multiplataforma com Javascript"
Minicurso "Jogos Multiplataforma com Javascript"Minicurso "Jogos Multiplataforma com Javascript"
Minicurso "Jogos Multiplataforma com Javascript"
 
Micro frontend de um jeito que você nunca viu
Micro frontend de um jeito que você nunca viuMicro frontend de um jeito que você nunca viu
Micro frontend de um jeito que você nunca viu
 
A importância de DDD e o Domain Model na construção de APIs!
A importância de DDD e o Domain Model na construção de APIs!A importância de DDD e o Domain Model na construção de APIs!
A importância de DDD e o Domain Model na construção de APIs!
 
Introdução ao Projeto de Plataformas de Software: o quê, por que, como
Introdução ao Projeto de Plataformas de Software: o quê, por que, comoIntrodução ao Projeto de Plataformas de Software: o quê, por que, como
Introdução ao Projeto de Plataformas de Software: o quê, por que, como
 
Programadores. Quem são eles? Onde vivem? O que comem?
Programadores. Quem são eles? Onde vivem? O que comem?Programadores. Quem são eles? Onde vivem? O que comem?
Programadores. Quem são eles? Onde vivem? O que comem?
 
Seu código fonte é sustentável?
Seu código fonte é sustentável?Seu código fonte é sustentável?
Seu código fonte é sustentável?
 
A Experiência como Vantagem Competitiva (UX) - Goiânia 2014
A Experiência como Vantagem Competitiva (UX) - Goiânia 2014A Experiência como Vantagem Competitiva (UX) - Goiânia 2014
A Experiência como Vantagem Competitiva (UX) - Goiânia 2014
 
Agile br2011 lucabastos-prog10x-noiteagilcaelum
Agile br2011 lucabastos-prog10x-noiteagilcaelumAgile br2011 lucabastos-prog10x-noiteagilcaelum
Agile br2011 lucabastos-prog10x-noiteagilcaelum
 
Trabalho colaborativo na entrega de software - case es na palma da mão
Trabalho colaborativo na entrega de software - case es na palma da mãoTrabalho colaborativo na entrega de software - case es na palma da mão
Trabalho colaborativo na entrega de software - case es na palma da mão
 
Arquitetura e design de software
Arquitetura e design de softwareArquitetura e design de software
Arquitetura e design de software
 
Latinoware 2019 - DEsenvolvimento mobile em Nivel jedi
Latinoware 2019 - DEsenvolvimento mobile em Nivel jediLatinoware 2019 - DEsenvolvimento mobile em Nivel jedi
Latinoware 2019 - DEsenvolvimento mobile em Nivel jedi
 
Planejamento e Ativação de Aplicativos móveis
Planejamento e Ativação de Aplicativos móveisPlanejamento e Ativação de Aplicativos móveis
Planejamento e Ativação de Aplicativos móveis
 
Arquitetura de Software - Uma Visão Crítica
Arquitetura de Software - Uma Visão CríticaArquitetura de Software - Uma Visão Crítica
Arquitetura de Software - Uma Visão Crítica
 
Webinar Usabilidade no E-commerce
Webinar Usabilidade no E-commerceWebinar Usabilidade no E-commerce
Webinar Usabilidade no E-commerce
 
Segurança no Desenvolvimento WEB - Técnicas Profissionais
Segurança no Desenvolvimento WEB - Técnicas ProfissionaisSegurança no Desenvolvimento WEB - Técnicas Profissionais
Segurança no Desenvolvimento WEB - Técnicas Profissionais
 
Zf campus party_2011
Zf campus party_2011Zf campus party_2011
Zf campus party_2011
 
Zf campus party_2011
Zf campus party_2011Zf campus party_2011
Zf campus party_2011
 
Softwares e S.O. Livres na busca pela inovacao tecnologica - Felipe Alison
Softwares e S.O. Livres na busca pela inovacao tecnologica - Felipe AlisonSoftwares e S.O. Livres na busca pela inovacao tecnologica - Felipe Alison
Softwares e S.O. Livres na busca pela inovacao tecnologica - Felipe Alison
 
Facetas do desenvolvedor agil
Facetas do desenvolvedor agilFacetas do desenvolvedor agil
Facetas do desenvolvedor agil
 

Codificação Defensiva vs Codificação Reativa!