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
GitHub ¡Presente!
Search
Hernandes
October 27, 2020
Programming
59
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
GitHub ¡Presente!
Hernandes
October 27, 2020
More Decks by Hernandes
See All by Hernandes
Cuidando do seu código
onhernandes
0
49
Fazendo as pazes com código legado - Frontend SP Meetup
onhernandes
0
290
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 Programming
See All in Programming
まだ間に合う!今年の夏こそSchemeのマクロ展開器を完全理解!
omasanori
0
570
freeeにおけるEvalsの実践例の紹介
freee
PRO
0
160
Pythonの実行はどこまで賢くなったのか? CPythonとPyPyから見る最適化のしくみ
curekoshimizu
4
2.3k
DynamoDBの基礎を振り返りながらベクトル検索機能を理解する
musan
3
240
My Marp Sample
sinoue0108
0
130
Gmail/Google DriveをトリガーにAIエージェントを動かそう! / Run AI agents with Gmail/Google Drive as triggers!
har1101
3
460
初心者DevRelとして参加者だった私が、DevRel Talks!#2に登壇するまでにしてきたこと
sokohirai
0
160
Detecting Compromised CI with eBPF and Cilium Tetragon
lizrice
0
270
AIの中の人になってみる
htkym
0
140
思考垂れ流し開発 ~音声入力 × AIエージェント × 開発ハーネスによる試行錯誤~
npostring
0
410
TSX の <Hoge<Fuga>> という構文に驚いた話 / tsx-type-argument-syntax
kanaru0928
0
240
FastAPI の並行処理モデルを完全に理解する
hoto17296
8
3.2k
Featured
See All Featured
GraphQLとの向き合い方2022年版
quramy
50
15k
Embracing the Ebb and Flow
colly
88
5.1k
Exploring anti-patterns in Rails
aemeredith
3
480
Automating Front-end Workflow
addyosmani
1369
210k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
450
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
530
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
420
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
400
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
790
The Language of Interfaces
destraynor
162
27k
Designing for Timeless Needs
cassininazir
1
460
Transcript
fazendo as pazes com projetos legados
hernandes Instrutor @ Alura org @BackEndBrasil github, twitter: @onhernandes
Por que devo me preocupar com um projeto legado?
o que é um projeto legado?
None
Por que devo me preocupar com um projeto legado?
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?
None
“Não preciso me preocupar! Nunca vou deixar meu projeto chegar
a esse ponto. Nunca vai acontecer!”
você sabe como um projeto se torna legado?
possíveis causas: - curto prazo de entrega - preguiça -
copiar & colar do StackOverflow - falta de padronização
ok, e agora, o que eu faço? como resolver? desenvolvo
a v2? desisto de programar? mudo de área?
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.
todo código carrega uma história, opiniões e algumas noites de
dormir de alguém. tome muito cuidado antes de apagar qualquer coisa
None
ok, e agora, o que eu faço?
todo código se torna legado em algum momento, mas há
formas de atrasar isso e garantir a qualidade do código.
estabeleça padrões, começando pelo versionamento usa git? procure fluxos simples
e eficazes, invente o seu próprio fluxo, conheça o gitflow
conheça as boas práticas da linguagem do projeto
use guias de estilo para padronizar o código, procure ferramentas
como linters & fixers para auxiliar
automatizar ajuda, mas tome cuidado, porque você pode cair nesse
problema:
None
testes podem ser chatos na maior parte do tempo, mas
são fundamentais, principalmente quando é difícil escrevê-los
sempre que possível, refatore o código. uma função, uma variável,
uma condicional refatoração traz valor (para o código, e R$ para a empresa/produto)
refatoração é o processo de alterar o código que já
existe sem mudar seu comportamento externo - wikipedia
refatorar =/= reescrever o projeto inteiro
EVITE PROGRAMAÇÃO ORIENTADA A GAMBIARRA entenda o código que você
usa do StackOverflow
documente o código para novas pessoas no projeto documente o
código para você de amanhã
revise e leia código de outras pessoas leia o código
fonte das bibliotecas que você usa
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
resumo: - boas práticas da linguagem, framework, 12factor App -
estabeleça padrões de código - crie fluxos (git flow, por ex) - conheça o código das pessoas ao seu redor - escreva testes - documente o código - refatore sempre - beba água
fim