Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
GitHub ¡Presente!
Search
Hernandes
October 27, 2020
Programming
0
40
GitHub ¡Presente!
Hernandes
October 27, 2020
Tweet
Share
More Decks by Hernandes
See All by Hernandes
Cuidando do seu código
onhernandes
0
33
Fazendo as pazes com código legado - Frontend SP Meetup
onhernandes
0
260
Processamento de filas com JS + Serverless + Google Cloud
onhernandes
0
47
fazendo as pazes com projetos legados
onhernandes
0
71
criando sua carreira sem recursos e sem apoio na visão de um periférico
onhernandes
0
63
Other Decks in Programming
See All in Programming
How Software Deployment tools have changed in the past 20 years
geshan
0
28k
Developing static sites with Ruby
okuramasafumi
0
190
connect-python: convenient protobuf RPC for Python
anuraaga
0
370
宅宅自以為的浪漫:跟 AI 一起為自己辦的研討會寫一個售票系統
eddie
0
480
AIエンジニアリングのご紹介 / Introduction to AI Engineering
rkaga
4
1.4k
AI時代もSEOを頑張っている話
shirahama_x
0
260
AIコーディングエージェント(skywork)
kondai24
0
130
令和最新版Android Studioで化石デバイス向けアプリを作る
arkw
0
340
【CA.ai #3】Google ADKを活用したAI Agent開発と運用知見
harappa80
0
290
手が足りない!兼業データエンジニアに必要だったアーキテクチャと立ち回り
zinkosuke
0
500
AIコードレビューがチームの"文脈"を 読めるようになるまで
marutaku
0
340
AIコーディングエージェント(NotebookLM)
kondai24
0
150
Featured
See All Featured
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
120
20k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
7.8k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
970
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Designing for Performance
lara
610
69k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
54k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
Git: the NoSQL Database
bkeepers
PRO
432
66k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
380
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.3k
Transcript
fazendo as pazes com projetos legados
hernandes Instrutor @ Alura org @BackEndBrasil github, twitter: @onhernandes
Por que devo me preocupar com um projeto legado?
o que é um projeto legado?
None
Por que devo me preocupar com um projeto legado?
por que um projeto legado é ruim?
bugs
código mágico
difícil de testar
manutenção custa caro
ninguém quer mexer
e se quebrar?
None
“Não preciso me preocupar! Nunca vou deixar meu projeto chegar
a esse ponto. Nunca vai acontecer!”
você sabe como um projeto se torna legado?
possíveis causas: - curto prazo de entrega - preguiça -
copiar & colar do StackOverflow - falta de padronização
ok, e agora, o que eu faço? como resolver? desenvolvo
a v2? desisto de programar? mudo de área?
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.
todo código carrega uma história, opiniões e algumas noites de
dormir de alguém. tome muito cuidado antes de apagar qualquer coisa
None
ok, e agora, o que eu faço?
todo código se torna legado em algum momento, mas há
formas de atrasar isso e garantir a qualidade do código.
estabeleça padrões, começando pelo versionamento usa git? procure fluxos simples
e eficazes, invente o seu próprio fluxo, conheça o gitflow
conheça as boas práticas da linguagem do projeto
use guias de estilo para padronizar o código, procure ferramentas
como linters & fixers para auxiliar
automatizar ajuda, mas tome cuidado, porque você pode cair nesse
problema:
None
testes podem ser chatos na maior parte do tempo, mas
são fundamentais, principalmente quando é difícil escrevê-los
sempre que possível, refatore o código. uma função, uma variável,
uma condicional refatoração traz valor (para o código, e R$ para a empresa/produto)
refatoração é o processo de alterar o código que já
existe sem mudar seu comportamento externo - wikipedia
refatorar =/= reescrever o projeto inteiro
EVITE PROGRAMAÇÃO ORIENTADA A GAMBIARRA entenda o código que você
usa do StackOverflow
documente o código para novas pessoas no projeto documente o
código para você de amanhã
revise e leia código de outras pessoas leia o código
fonte das bibliotecas que você usa
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.
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
resumo: - boas práticas da linguagem, framework, 12factor App -
estabeleça padrões de código - crie fluxos (git flow, por ex) - conheça o código das pessoas ao seu redor - escreva testes - documente o código - refatore sempre - beba água
fim