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
Hernandes
October 27, 2020
Programming
58
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
GitHub ¡Presente!
Hernandes
October 27, 2020
More Decks by Hernandes
See All by Hernandes
Cuidando do seu código
onhernandes
0
48
Fazendo as pazes com código legado - Frontend SP Meetup
onhernandes
0
290
Processamento de filas com JS + Serverless + Google Cloud
onhernandes
0
57
fazendo as pazes com projetos legados
onhernandes
0
82
criando sua carreira sem recursos e sem apoio na visão de um periférico
onhernandes
0
77
Other Decks in Programming
See All in Programming
関東Kaggler会_NVIDIA_Nemotron_コンペ_振り返り
rick_ds
0
490
VibeCodingからAgenticWorkflowへ
starfish719
0
330
ソフトウェア設計に溶けるインフラ ― AWS CDK のインフラ認識論
konokenj
3
770
AI時代のPHPer生存戦略 ~「言語、もうなんでもよくない?」に本気で向き合う~
vivion
0
300
【やさしく解説 設計編・中級 #6】良いアーキテクチャとは ~ 一本の登り道の、行き先 ~
panda728
PRO
0
210
属人化した知識を、 AIが辿れる地図にする
pkshadeck
PRO
1
150
使いながら育てる Claude Code — 開発フローの1コマンド化 × 繰り返し指摘の自動仕組み化
shiki_kakaku
0
1.7k
Cloudflare is Agents
chimame
0
150
霧の中の代数的エフェクト
funnyycat
1
490
変わらないものが、変わるものを決める — 意図駆動開発 × イベントソーシング × イミュータブル | What Doesn't Change Decides What Can — IDD × Event Sourcing × Immutability
tomohisa
0
1.4k
Laravelで学ぶ Webアプリケーションチューニング入門/web_application_tuning_101
hanhan1978
4
1.7k
php-fpmのプロセスが枯渇した日-調査・対処・そして本当にやるべきだったこと-
shibuchaaaan
0
240
Featured
See All Featured
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
230
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.8k
Designing for humans not robots
tammielis
254
26k
It's Worth the Effort
3n
188
29k
Building an army of robots
kneath
306
46k
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
Docker and Python
trallard
47
4.1k
Deep Space Network (abreviated)
tonyrice
0
250
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
650
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.3k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
370
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.1k
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