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
Fazendo as pazes com código legado - Frontend S...
Search
Hernandes
January 30, 2020
Technology
290
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Fazendo as pazes com código legado - Frontend SP Meetup
Hernandes
January 30, 2020
More Decks by Hernandes
See All by Hernandes
GitHub ¡Presente!
onhernandes
0
59
Cuidando do seu código
onhernandes
0
49
Processamento de filas com JS + Serverless + Google Cloud
onhernandes
0
58
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 Technology
See All in Technology
会計事務所と顧問先の契約関係をOIDC・OAuthで表現する
terara
0
490
markdown-poster Introduction
kazamori
0
400
PdMをやめて、 "プロダクトビルダー"という 働き方に変えました / PdM to Product Builder
shikichee
1
130
Introduction to Sansan Meishi Maker Development Engineer
sansan33
PRO
0
460
1000⼈規模のClaude Enterprise運⽤を「Oktaのグループ」と「Slack」に集約する
sansantech
PRO
1
500
VPCでもFloatingIPを使いたいんだ
y_kotani
1
130
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
3.2k
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
5k
型落ちシンクライアント端末のPoEモジュールを自作したかった話
logica0419
0
510
「面白い!」を信じ抜け。激動の時代を貫く、オンリーワン・エンジニアの条件
kizawa2020
2
400
AI駆動開発はどこまで来たのか? ファインディの最新実態調査で読み解く現在地 Devin Con Tokyo
akiratom
4
1.9k
みてねにおけるAI-DLC導入活動とAIドリブン開発の現在地/JAWS-UG AI-DLC #2
isaoshimizu
2
280
Featured
See All Featured
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
950
Automating Front-end Workflow
addyosmani
1369
210k
The Limits of Empathy - UXLibs8
cassininazir
1
620
Statistics for Hackers
jakevdp
799
230k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
SEO for Brand Visibility & Recognition
aleyda
0
4.7k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.2k
The Curse of the Amulet
leimatthew05
2
14k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
560
Ruling the World: When Life Gets Gamed
codingconduct
0
310
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.8k
The untapped power of vector embeddings
frankvandijk
2
1.8k
Transcript
fazendo as pazes com projetos legados
hernandes eng de software - líder técnico @ Binds.co org
@BackEndBrasil podcaster @QuebraDev @onhernandes | hernandes.io
None
o que é um projeto legado?
None
como um projeto se torna legado?
possíveis causas:
possíveis causas: - curto prazo de entrega
possíveis causas: - curto prazo de entrega - preguiça
possíveis causas: - curto prazo de entrega - preguiça -
copiar & colar do StackOverflow
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?
ok, e agora, o que eu faço? como resolver? desenvolvo
a v2?
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.
isso porque vamos cair nesse problema:
None
todo código carrega uma história, opiniões e algumas noites de
dormir de alguém.
refatoração
refatoração é o processo de alterar o código que já
existe sem mudar seu comportamento externo - wikipedia
refatorar =/= reescrever o projeto inteiro
todo código se torna legado em algum momento, mas há
formas de atrasar isso e garantir a qualidade do código.
estabeleça regras, normas, fluxos, etc - versionamento, boas práticas, modularização,
testes, guias de estilo de código, automatizações, documentação, testes
EVITE PROGRAMAÇÃO ORIENTADA A GAMBIARRA evite que código novo se
torne uma cópia do código legado
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
evite programação orientada a gambiarra
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
estude boas práticas da sua linguagem/framework
fim