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
0
40
GitHub ¡Presente!
Hernandes
October 27, 2020
Tweet
Share
More Decks by Hernandes
See All by Hernandes
Cuidando do seu código
onhernandes
0
31
Fazendo as pazes com código legado - Frontend SP Meetup
onhernandes
0
240
Processamento de filas com JS + Serverless + Google Cloud
onhernandes
0
45
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
62
Other Decks in Programming
See All in Programming
一人でAIプロダクトを作るならAIにはもっと働いてもらいたい / I want AI to work harder
rkaga
3
260
Vibe coding コードレビュー
kinopeee
0
400
[Codecon - 2025] Como não odiar seus testes
camilacampos
0
100
抽象化という思考のツール - 理解と活用 - / Abstraction-as-a-Tool-for-Thinking
shin1x1
1
930
CEDEC 2025 『ゲームにおけるリアルタイム通信への QUIC導入事例の紹介』
segadevtech
2
740
AIコーディングエージェント全社導入とセキュリティ対策
hikaruegashira
16
9.3k
それ CLI フレームワークがなくてもできるよ / Building CLI Tools Without Frameworks
orgachem
PRO
17
3.7k
Terraform やるなら公式スタイルガイドを読もう 〜重要項目 10選〜
hiyanger
11
2.8k
Workers を定期実行する方法は一つじゃない
rokuosan
0
140
オホーツクでコミュニティを立ち上げた理由―地方出身プログラマの挑戦 / TechRAMEN 2025 Conference
lemonade_37
1
430
CLI ツールを Go ライブラリ として再実装する理由 / Why reimplement a CLI tool as a Go library
ktr_0731
3
950
Reactの歴史を振り返る
tutinoko
1
170
Featured
See All Featured
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3k
Designing for humans not robots
tammielis
253
25k
The Invisible Side of Design
smashingmag
301
51k
How GitHub (no longer) Works
holman
314
140k
BBQ
matthewcrist
89
9.8k
The World Runs on Bad Software
bkeepers
PRO
70
11k
RailsConf 2023
tenderlove
30
1.2k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.4k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Raft: Consensus for Rubyists
vanstee
140
7k
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