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
[RubyConf 2015] Learn From My Mistakes
Search
Flavia Fortes
September 18, 2015
Programming
6
950
[RubyConf 2015] Learn From My Mistakes
Flavia Fortes
September 18, 2015
Tweet
Share
More Decks by Flavia Fortes
See All by Flavia Fortes
[RubyConfBR 2017] Elixir/Elug - Flavia Fortes e Charlotte Oliveira
flaviafortes
0
130
[RubyConfBR 2017] Refatorando Rails apps com confiança
flaviafortes
3
210
[Women Dev Summit 2017] Introdução ao framework Phoenix
flaviafortes
0
100
[Rails Girls SP 2017] Lógica de programação com Ruby
flaviafortes
0
150
[RubyConf 2016] Como funciona o Rails
flaviafortes
1
230
Other Decks in Programming
See All in Programming
育てるアーキテクチャ:戦い抜くPythonマイクロサービスの設計と進化戦略
fujidomoe
1
150
開発者への寄付をアプリ内課金として実装する時の気の使いどころ
ski
0
340
ソフトウェア設計の実践的な考え方
masuda220
PRO
3
430
メモリ不足との戦い〜大量データを扱うアプリでの実践例〜
kwzr
1
780
複雑化したリポジトリをなんとかした話 pipenvからuvによるモノレポ構成への移行
satoshi256kbyte
1
750
Reduxモダナイズ 〜コードのモダン化を通して、将来のライブラリ移行に備える〜
pvcresin
2
680
CSC305 Lecture 02
javiergs
PRO
1
260
フロントエンド開発に役立つクライアントプログラム共通のノウハウ / Universal client-side programming best practices for frontend development
nrslib
7
3.9k
どの様にAIエージェントと 協業すべきだったのか?
takefumiyoshii
1
580
Web Components で実現する Hotwire とフロントエンドフレームワークの橋渡し / Bridging with Web Components
da1chi
3
1.6k
Advance Your Career with Open Source
ivargrimstad
0
300
Pythonスレッドとは結局何なのか? CPython実装から見るNoGIL時代の変化
curekoshimizu
4
1.2k
Featured
See All Featured
Making Projects Easy
brettharned
119
6.4k
Gamification - CAS2011
davidbonilla
81
5.5k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Facilitating Awesome Meetings
lara
56
6.6k
For a Future-Friendly Web
brad_frost
180
9.9k
Making the Leap to Tech Lead
cromwellryan
135
9.5k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
610
4 Signs Your Business is Dying
shpigford
185
22k
BBQ
matthewcrist
89
9.8k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.6k
Transcript
FLAVIA FORTES @flafortes FlaviaFortes
Learn from my mistakes
Como faz um software bom?
Como ser um programador bom?
BOAS PRÁTICAS
1. Escreva testes!
Tá, mas por quê?
Reduz bugs
Auxilia a evolução do software
Facilita a manutenção
Serve de documentação
Aumenta a velocidade
2. Teste no browser!
3. Documente seu código
4. Crie um README para o seu projeto
Uma breve descrição da aplicação
Dependências
Setup
Processo de deploy
5. Defina um Style Guide
http://guidelines.plataformatec.com.br
E lembre-se: O código é de todo o time :)
6. Utilize diferentes ambientes
➔ Development ➔ Staging ➔ Production
7. Utilize ferramentas de controle de segurança e qualidade
Análise de código
None
Detectores de vulnerabilidades
None
8. Evite o Big Design Up Front
YAGNI (YOU AIN’T GONNA NEED IT)
9. Faça Code Review
Foco no coletivo
Disseminação do conhecimento
Nivelamento
Pull Requests
10. Escreva mensagens de commit úteis!
git commit -m “fix”
Commit early and often
Merge early and often
Leitura recomendada The Pragmatic Programmer - Andrew Hunt - David
Thomas cc Leitura recomendada
Leitura recomendada Test-Driven Development By Example - Kent Beck cc
Leitura recomendada
Leitura recomendada Clean Code - Uncle Bob cc Leitura recomendada
Leitura recomendada The Clean Coder - Uncle Bob cc Leitura
recomendada
Leitura recomendada Eloquent Ruby - Russ Olsen cc Leitura recomendada
Leitura recomendada Refactoring Ruby Edition - Jay Fields - Shane
Harvie - Martin Fowler - Kent Beck Leitura recomendada
cc Leitura recomendada Driving Technical Change - Terrence Ryan
Recapitulando …
1. Escreva testes
1. Escreva testes 2. Teste no browser
1. Escreva testes 2. Teste no browser 3. Documente seu
código
1. Escreva testes 2. Teste no browser 3. Documente seu
código 4. Crie um README
1. Escreva testes 2. Teste no browser 3. Documente seu
código 4. Crie um README 5. Defina um Style Guide
1. Utilize diferentes ambientes 2.
1. Utilize diferentes ambientes 2. Utilize ferramentas de controle de
segurança e qualidade 3.
1. Utilize diferentes ambientes 2. Utilize ferramentas de controle de
segurança e qualidade 3. Evite o Big Design Up Front 4.
1. Utilize diferentes ambientes 2. Utilize ferramentas de controle de
segurança e qualidade 3. Evite o Big Design Up Front 4. Faça Code Review 5.
1. Utilize diferentes ambientes 2. Utilize ferramentas de controle de
segurança e qualidade 3. Evite o Big Up-Front Design 4. Faça Code Review 5. Escreva mensagens de commit úteis 6.
É preciso ser humilde para aprender e para ensinar
OBRIGADA!