Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
GitHub ¡Presente!
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Hernandes
October 27, 2020
Programming
0
45
GitHub ¡Presente!
Hernandes
October 27, 2020
Tweet
Share
More Decks by Hernandes
See All by Hernandes
Cuidando do seu código
onhernandes
0
38
Fazendo as pazes com código legado - Frontend SP Meetup
onhernandes
0
280
Processamento de filas com JS + Serverless + Google Cloud
onhernandes
0
49
fazendo as pazes com projetos legados
onhernandes
0
74
criando sua carreira sem recursos e sem apoio na visão de um periférico
onhernandes
0
67
Other Decks in Programming
See All in Programming
CSC307 Lecture 14
javiergs
PRO
0
470
DevinとClaude Code、SREの現場で使い倒してみた件
karia
1
1.1k
AI駆動開発の本音 〜Claude Code並列開発で見えたエンジニアの新しい役割〜
hisuzuya
4
510
encoding/json/v2のUnmarshalはこう変わった:内部実装で見る設計改善
kurakura0916
0
420
Claude Code の Skill で複雑な既存仕様をすっきり整理しよう
yuichirokato
1
400
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
540
The Ralph Wiggum Loop: First Principles of Autonomous Development
sembayui
0
3.7k
CS教育のDX AIによる育成の効率化
niftycorp
PRO
0
130
受け入れテスト駆動開発(ATDD)×AI駆動開発 AI時代のATDDの取り組み方を考える
kztakasaki
2
590
Vuetify 3 → 4 何が変わった?差分と移行ポイント10分まとめ
koukimiura
0
150
Kubernetesでセルフホストが簡単なNewSQLを求めて / Seeking a NewSQL Database That's Simple to Self-Host on Kubernetes
nnaka2992
0
130
ふつうの Rubyist、ちいさなデバイス、大きな一年
bash0c7
0
970
Featured
See All Featured
Six Lessons from altMBA
skipperchong
29
4.2k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
64
53k
Git: the NoSQL Database
bkeepers
PRO
432
66k
What does AI have to do with Human Rights?
axbom
PRO
1
2k
How to make the Groovebox
asonas
2
2k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
150
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
83
A Soul's Torment
seathinner
5
2.5k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.4k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
0
160
Statistics for Hackers
jakevdp
799
230k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
110
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