SlideShare uma empresa Scribd logo
Saia do Brownfield
Com Refactoring
egomesbrandao
 33 anos
 Desenvolvedor de software
 www.egomesbrandao.net/blog
 twitter.com/egomesbrandao
 linkedin.com/in/egomesbrandao
 github.com/egomesbrandao
 bitbucket.org/egomesbrandao
 shelfari.com/egomesbrandao
Greenfield
Brownfield
Pareto
Você cozinha?
Conseguiria aqui?
M. Golding
“Always code as if the guy
who ends up maintaining
your code will be a violent
psychopath who knows
where you live”
Saia do Brownfield com Refactoring
A janela quebrada
Saia do Brownfield com Refactoring
Você sentiu... Code Smell?
Refactoring
Explore com testes
Feathers
e o risco da mudança:
Quais as mudanças que temos que
fazer?
Como vamos saber que fizemos
corretamente?
E como vamos saber se não
quebramos nada?
Grace Hopper
“It’s easier to beg
forgiveness than to
ask permission.”,
Grace Hopper
Já era hora...
Demo!(pelo menos um kata)
#comemocao
E não o contrário
Saia do Brownfield com Refactoring
Saia do Brownfield com Refactoring
Saia do Brownfield com Refactoring
Medo?
"Humans are allergic to
change. They love to say,
'We've always done it this
way.' I try to fight that. That's
why I have a clock on my wall
that runs counter-clockwise.",
Grace Hopper
Para saber mais
Mais?
Obrigado!

Mais conteúdo relacionado

PPTX
Saia do Brownfield com Refactoring
PPS
Dialogo No Messenger
PPS
O Windows Sul americano
PPTX
Inglês
PDF
3 way's a base do DevOps no Azure DevOps
PDF
VS2019 Launch - VS com DevOps
PDF
DevOps para Open Source com Azure DevOps
PPTX
DevOps para Enterprises
Saia do Brownfield com Refactoring
Dialogo No Messenger
O Windows Sul americano
Inglês
3 way's a base do DevOps no Azure DevOps
VS2019 Launch - VS com DevOps
DevOps para Open Source com Azure DevOps
DevOps para Enterprises

Mais de Emmanuel Gomes Brandão (11)

PPTX
7Masters - Automação de testes
PPTX
DevOps em Enterprises: problemas
PPTX
Jornada para o DevOps
PPTX
Three ways a base do DevOps no VSTS
PPTX
DevOps: Muito mais cultura do que ferramentas
PPTX
DevOps Mitos, Cultura e Futuro
PPTX
DevOps (Provocações)
PPTX
Git Rebase, reescrevendo o seu histórico
PDF
Integrando Jenkins em um pipeline com VSTS... e Azure
PPTX
Brownfield applications: dicas, técnicas e experiências
PPTX
MS Enterprise Library
7Masters - Automação de testes
DevOps em Enterprises: problemas
Jornada para o DevOps
Three ways a base do DevOps no VSTS
DevOps: Muito mais cultura do que ferramentas
DevOps Mitos, Cultura e Futuro
DevOps (Provocações)
Git Rebase, reescrevendo o seu histórico
Integrando Jenkins em um pipeline com VSTS... e Azure
Brownfield applications: dicas, técnicas e experiências
MS Enterprise Library
Anúncio

Último (8)

PDF
Manejo integrado de pragas na cultura do algodão
PPTX
Mecânico de Manutenção de Equipamentos.pptx
PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PPTX
Viasol Energia Solar -Soluções para geração e economia de energia
PDF
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
PPTX
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
PPTX
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
PPTX
Arquitetura de computadores - Memórias Secundárias
Manejo integrado de pragas na cultura do algodão
Mecânico de Manutenção de Equipamentos.pptx
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
Viasol Energia Solar -Soluções para geração e economia de energia
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
Arquitetura de computadores - Memórias Secundárias
Anúncio

Saia do Brownfield com Refactoring

Notas do Editor

  • #6: Você vai estar 80% da sua vida profissional em softwares existentes Baseado nas estimativas do Gartner 80% do tempo em código Brownfield
  • #9: Você já sentiu vontade de torcer o pescoço de um colega que talvez você nem saiba quem é? Pode ter sido seu atual chefe quando era dev que codificou isso
  • #11: The Tipping Point by Malcolm Gladwell
  • #13: Divergent change: a classe é alterada de diferentes formas, fazendo coisas demais, extraia uma ou mais classes Shotgun surgery: é preciso fazer diversas alterações para uma única mudança, o que sugere que a lógica está espalhada pelo código, encapsule em uma classe Feature envy: um método está mais interessado em em dados de outra classe do que na própria classe, extraia e mova Data clumps: grupos de dados, vários parâmetros que aparecem sempre juntos: objeto de parâmetros Primitive obsession: números de telefone ou CEP Switch statements: quase sempre substituível por polimorfismo Lazy class: classe perdida Speculative: provável funcinalidade algum dia (falar do campo genérico do banco de dados que acomoda vários campos) Temporary Field
  • #14: É um processo de mudança no código de um software de uma forma que não altere o comportamento Se você não sabia o que é, você já fez Refactoring sem perceber, ao alterar o nome de uma variável para melhorar a legibilidade do código,
  • #16: Medo da mudança “Se não está quebrado não consete” Não sabe como então copie, cole e crie um novo com outro nome Você fica o tempo todo tentando evitar o problema, fugindo dele... Só que fazer vai melhorar seu conhecimento, auto-estima do time, e principalmente o seu futuro trabalho
  • #21: Objetivo é reduzier o acoplamento não essencial, sempre haverá acoplamento! Use interface, desenvolva para o comportamento não para a implementação