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 SP Meetup
Search
Hernandes
January 30, 2020
Technology
0
170
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
27
Cuidando do seu código
onhernandes
0
19
Processamento de filas com JS + Serverless + Google Cloud
onhernandes
0
38
fazendo as pazes com projetos legados
onhernandes
0
63
criando sua carreira sem recursos e sem apoio na visão de um periférico
onhernandes
0
51
Other Decks in Technology
See All in Technology
ギークの理想が7つ集まるエムスリーで夢を叶えよう - エムスリー株式会社
m3_engineering
1
260
技術負債による事業の失敗はなぜ起こるのか / Why do business failures due to technical debt occur?
i35_267
0
190
可視化プラットフォームGrafanaの基本と活用方法の全て
hamadakoji
0
230
スレットハンティングについて知っておきたいこと
hacket
0
130
さらに高品質・高速化を目指すAI時代のテスト設計支援と、めざす先 / AI Test Lab vol.1
shift_evolve
0
190
LLMアプリケーションの評価の実践と課題 ~PharmaXにおける今後の展望~
pharma_x_tech
2
160
VPoEの視点から見た、ヘンリーがサーバーサイドKotlinを使う理由 / Why Server-side Kotlin 2024
cho0o0
1
420
JBUG岡山 #6 WordCamp男木島の チームビルディング
takeshifurusato
0
150
[I/O Extended Android 2024] What`s new in Android 2024
kyeongwan
0
220
ACRiルーム最新情報とAMD GPUサーバーのご紹介
anjn
0
150
開発生産性をむしろ向上させる セキュリティパートナーの作り方 / Dev Productivity Con 2024
flatt_security
0
360
データベース研修 DB基礎【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
210
Featured
See All Featured
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
35
6.3k
We Have a Design System, Now What?
morganepeng
46
7k
Raft: Consensus for Rubyists
vanstee
134
6.5k
Large-scale JavaScript Application Architecture
addyosmani
506
110k
Bash Introduction
62gerente
607
210k
Fantastic passwords and where to find them - at NoRuKo
philnash
42
2.7k
Rails Girls Zürich Keynote
gr2m
93
13k
Adopting Sorbet at Scale
ufuk
71
8.8k
Automating Front-end Workflow
addyosmani
1362
200k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
20
7.2k
Designing for humans not robots
tammielis
247
25k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
16
1.6k
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