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
45
GitHub ¡Presente!
Hernandes
October 27, 2020
Tweet
Share
More Decks by Hernandes
See All by Hernandes
Cuidando do seu código
onhernandes
0
39
Fazendo as pazes com código legado - Frontend SP Meetup
onhernandes
0
280
Processamento de filas com JS + Serverless + Google Cloud
onhernandes
0
49
fazendo as pazes com projetos legados
onhernandes
0
74
criando sua carreira sem recursos e sem apoio na visão de um periférico
onhernandes
0
68
Other Decks in Programming
See All in Programming
今からFlash開発できるわけないじゃん、ムリムリ! (※ムリじゃなかった!?)
arkw
0
110
Go Conference mini in Sendai 2026 : Goに新機能を提案し実装されるまでのフロー徹底解説
yamatoya
0
610
CS教育のDX AIによる育成の効率化
niftycorp
PRO
0
140
米国のサイバーセキュリティタイムラインと見る Goの暗号パッケージの進化
tomtwinkle
2
610
安いハードウェアでVulkan
fadis
0
530
コードレビューをしない選択 #でぃーぷらすトウキョウ
kajitack
3
1k
エラーログのマスキングの仕組みづくりに役立ったASTの話
kumoichi
0
250
条件判定に名前、つけてますか? #phperkaigi #c
77web
1
270
Linux Kernelの1文字のミスで 権限昇格ができた話
rqda
0
1.8k
へんな働き方
yusukebe
5
2.6k
RubyとGoでゼロから作る証券システム: 高信頼性が求められるシステムのコードの外側にある設計と運用のリアル
free_world21
0
310
AWS×クラウドネイティブソフトウェア設計 / AWS x Cloud-Native Software Design
nrslib
16
3.3k
Featured
See All Featured
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
150
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
160
GraphQLの誤解/rethinking-graphql
sonatard
75
11k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
980
Optimising Largest Contentful Paint
csswizardry
37
3.6k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.6k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
220
Java REST API Framework Comparison - PWX 2021
mraible
34
9.2k
Agile that works and the tools we love
rasmusluckow
331
21k
Producing Creativity
orderedlist
PRO
348
40k
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