$30 off During Our Annual Pro Sale. View Details »
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
0
260
Fazendo as pazes com código legado - Frontend SP Meetup
Hernandes
January 30, 2020
Tweet
Share
More Decks by Hernandes
See All by Hernandes
GitHub ¡Presente!
onhernandes
0
40
Cuidando do seu código
onhernandes
0
33
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 Technology
See All in Technology
AWS Bedrock AgentCoreで作る 1on1支援AIエージェント 〜Memory × Evaluationsによる実践開発〜
yusukeshimizu
4
270
法人支出管理領域におけるソフトウェアアーキテクチャに基づいたテスト戦略の実践
ogugu9
1
190
Playwrightのソースコードに見る、自動テストを自動で書く技術
yusukeiwaki
12
4.3k
“決まらない”NSM設計への処方箋 〜ビットキーにおける現実的な指標デザイン事例〜 / A Prescription for "Stuck" NSM Design: Bitkey’s Practical Case Study
bitkey
PRO
1
510
生成AI時代の自動E2Eテスト運用とPlaywright実践知_引持力哉
legalontechnologies
PRO
0
180
事業部のプロジェクト進行と開発チームの改善の “時間軸" のすり合わせ
konifar
9
3.2k
AI/MLのマルチテナント基盤を支えるコンテナ技術
pfn
PRO
5
780
pmconf2025 - データを活用し「価値」へ繋げる
glorypulse
0
630
ブロックテーマとこれからの WordPress サイト制作 / Toyama WordPress Meetup Vol.81
torounit
0
370
シンプルを極める。アンチパターンなDB設計の本質
facilo_inc
2
1.6k
なぜ使われないのか?──定量×定性で見極める本当のボトルネック
kakehashi
PRO
1
1.1k
世界最速級 memcached 互換サーバー作った
yasukata
0
270
Featured
See All Featured
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
36
6.2k
Statistics for Hackers
jakevdp
799
230k
Code Review Best Practice
trishagee
73
19k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
A designer walks into a library…
pauljervisheath
210
24k
Facilitating Awesome Meetings
lara
57
6.7k
The Invisible Side of Design
smashingmag
302
51k
Building Adaptive Systems
keathley
44
2.9k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
120
20k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
What's in a price? How to price your products and services
michaelherold
246
12k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.5k
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