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
220
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
34
Cuidando do seu código
onhernandes
0
26
Processamento de filas com JS + Serverless + Google Cloud
onhernandes
0
42
fazendo as pazes com projetos legados
onhernandes
0
67
criando sua carreira sem recursos e sem apoio na visão de um periférico
onhernandes
0
57
Other Decks in Technology
See All in Technology
Agent Mode とは?GitHub Copilot の新機能を探る
lescoggi
1
180
eBPF-based Process Lifecycle Monitoring
yukinakanaka
1
160
Dapr For Java Developers SouJava 25
salaboy
0
100
リポジトリをまるっとAIに食わせるRepomixの話
yamadashy
0
230
Amazon Bedrock GenUハンズオン座学資料 #1 GenU環境で生成AIを体験してみよう
tsukuboshi
0
240
ランチの間に GitHub Copilot Agent が仕事を終わらせてくれた話
bicstone
5
670
コンテナ上シェル悪用の話とPure Bashでcurlが作れた話
ryotosaito
2
390
SpannerとAurora DSQLの同時実行制御の違いに想いを馳せる
masakikato5
0
330
RubyKaigi 2025でプロポーザルが初めて採択されるまでにやったこと
yuuu
1
130
Github Copilot Chatは本日よりケ◯ロ軍曹でありま〜〜〜すッ!!!(たぶん)
yu_yukk_y
1
130
caching_sha2_passwordのはなし
boro1234
0
140
コード品質向上で得られる効果と実践的取り組み
ham0215
0
160
Featured
See All Featured
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
22
2.6k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
27
1.6k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
30
1.1k
It's Worth the Effort
3n
184
28k
Building Adaptive Systems
keathley
40
2.4k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
31
4.7k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
227
22k
Designing for Performance
lara
605
69k
Git: the NoSQL Database
bkeepers
PRO
429
65k
Large-scale JavaScript Application Architecture
addyosmani
511
110k
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