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
0
240
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
31
Processamento de filas com JS + Serverless + Google Cloud
onhernandes
0
46
fazendo as pazes com projetos legados
onhernandes
0
69
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
NLPコロキウム20251022_超効率化への挑戦: LLM 1bit量子化のロードマップ
yumaichikawa
4
550
AI機能プロジェクト炎上の 3つのしくじりと学び
nakawai
0
130
クラウドとリアルの融合により、製造業はどう変わるのか?〜クラスメソッドの製造業への取組と共に〜
hamadakoji
0
450
オブザーバビリティが育むシステム理解と好奇心
maruloop
3
1.5k
Open Table Format (OTF) が必要になった背景とその機能 (2025.10.28)
simosako
2
400
マルチエージェントのチームビルディング_2025-10-25
shinoyamada
0
210
Amazon Athena で JSON・Parquet・Iceberg のデータを検索し、性能を比較してみた
shigeruoda
1
170
組織全員で向き合うAI Readyなデータ利活用
gappy50
4
1.4k
アウトプットから始めるOSSコントリビューション 〜eslint-plugin-vueの場合〜 #vuefes
bengo4com
3
1.8k
20251024_TROCCO/COMETAアップデート紹介といくつかデモもやります!_#p_UG 東京:データ活用が進む組織の作り方
soysoysoyb
0
130
AWS DMS で SQL Server を移行してみた/aws-dms-sql-server-migration
emiki
0
260
AI時代、“平均値”ではいられない
uhyo
8
2.7k
Featured
See All Featured
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Code Review Best Practice
trishagee
72
19k
Documentation Writing (for coders)
carmenintech
75
5.1k
Producing Creativity
orderedlist
PRO
348
40k
Automating Front-end Workflow
addyosmani
1371
200k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
Docker and Python
trallard
46
3.6k
KATA
mclloyd
PRO
32
15k
The World Runs on Bad Software
bkeepers
PRO
72
11k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.5k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Site-Speed That Sticks
csswizardry
13
930
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