hernandes
eng de software - líder técnico
@ Binds.co
org @BackEndBrasil
podcaster @QuebraDev
@onhernandes | hernandes.io
Slide 3
Slide 3 text
No content
Slide 4
Slide 4 text
o que é um projeto legado?
Slide 5
Slide 5 text
No content
Slide 6
Slide 6 text
como um projeto se torna legado?
Slide 7
Slide 7 text
possíveis causas:
Slide 8
Slide 8 text
possíveis causas:
- curto prazo de entrega
Slide 9
Slide 9 text
possíveis causas:
- curto prazo de entrega
- preguiça
Slide 10
Slide 10 text
possíveis causas:
- curto prazo de entrega
- preguiça
- copiar & colar do
StackOverflow
Slide 11
Slide 11 text
por que um projeto legado é ruim?
Slide 12
Slide 12 text
bugs
Slide 13
Slide 13 text
código mágico
Slide 14
Slide 14 text
difícil de testar
Slide 15
Slide 15 text
manutenção custa caro
Slide 16
Slide 16 text
ninguém quer mexer
Slide 17
Slide 17 text
e se quebrar?
Slide 18
Slide 18 text
ok, e agora, o que eu faço?
como resolver? desenvolvo a v2?
Slide 19
Slide 19 text
a menos que o produto tenha uma mudança
drástica no negócio e/ou a tecnologia usada
esteja obsoleta, uma reescrita completa não
mudará nada.
Slide 20
Slide 20 text
isso porque vamos cair nesse problema:
Slide 21
Slide 21 text
No content
Slide 22
Slide 22 text
todo código carrega uma história,
opiniões e algumas noites de dormir de
alguém.
Slide 23
Slide 23 text
refatoração
Slide 24
Slide 24 text
refatoração é o processo de alterar o código
que já existe sem mudar seu comportamento
externo - wikipedia
Slide 25
Slide 25 text
refatorar =/= reescrever o projeto inteiro
Slide 26
Slide 26 text
todo código se torna legado em algum
momento, mas há formas de atrasar isso e
garantir a qualidade do código.
Slide 27
Slide 27 text
estabeleça regras, normas, fluxos, etc - versionamento,
boas práticas, modularização, testes, guias de estilo de
código, automatizações, documentação, testes
Slide 28
Slide 28 text
EVITE PROGRAMAÇÃO
ORIENTADA A GAMBIARRA
evite que código novo se
torne uma cópia do código
legado
Slide 29
Slide 29 text
crie rotinas de refatoração. refatorar um trecho
de código traz valor (R$ pra empresa também)
assim como qualquer outra feature ou bugfix
Slide 30
Slide 30 text
evite programação
orientada a gambiarra
Slide 31
Slide 31 text
convencer a empresa (gerente de produto, CTO, etc)
de que refatoração é necessário, é a parte mais
difícil. converse com as pessoas que trabalham com
você para te ajudar nisso.
Slide 32
Slide 32 text
além de tudo, precisamos colocar comida na mesa, mas
também manter a sanidade mental. se onde está não
aceitam um projeto de melhoria, caso possível, procure
outro emprego