Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Padrões e Boas Práticas
Search
BruNo Oliveira
June 11, 2021
Programming
14
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Padrões e Boas Práticas
A arte de escrever código
BruNo Oliveira
June 11, 2021
Other Decks in Programming
See All in Programming
Web Framework Benchmark Battle 2026, Any%
a_matsuda
2
2.2k
Event is what happens
moro
2
810
Workers Cache を知る
syumai
0
370
半永久的に提供し続けられるプライベートクラウドを目指して ― 利用者の認知負荷を抑えるAPI抽象化とハードウェア世代交代の基盤設計
tomokon
0
500
Starting & Sustaining Code-Based E2E Testing for Non-Coding QA Teams( #jasstniigata )
teyamagu
PRO
1
1k
ActionController meets Protocol Buffers
sorah
0
530
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Kaigi on Rails 2026, Tokyo, Japan
marcoroth
2
230
最近”作らせてる” ローカルAIアプリの話
akit37
0
470
残高管理から台帳サービスへの進化
artoy
1
200
KiroのSpecで「五目並べ」を作ってみる
satoshi256kbyte
1
380
phperだってパンチカードでコーディングしたい
o0h
PRO
0
340
APNsからLive Activityを開始する話
yumnumm
0
170
Featured
See All Featured
Optimising Largest Contentful Paint
csswizardry
37
4k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.9k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
280
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
600
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.4k
Mobile First: as difficult as doing things right
swwweet
225
10k
The SEO Collaboration Effect
kristinabergwall1
1
590
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
410
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
2
2.9k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
930
Art, The Web, and Tiny UX
lynnandtonic
304
22k
Chasing Engaging Ingredients in Design
codingconduct
0
360
Transcript
None
2 Padrões e Boas Práticas: A arte de escrever código
3 Introdução
4 Conversar sobre os assuntos
5 Não vou conseguir falar sobre tudo
6 Arte
7 Pensar sobre código
8 Qualidade de software compensa
9 Developer Experience Importa
10 Entropia do Software & Janelas Quebradas
11 O que é entropia?
12
13 Segunda lei da termodinamica
14 Mas o que isso tem a ver?
15 Software sempre muda
16 A complexidade tende a aumentar
17 O risco aumenta Estabilidade diminui Muito imprevisível
18 Porém não precisa ser assim
19
20 Teoria das Janelas Quebradas
“ 21 Considere um edifício com algumas janelas quebradas. Se
as janelas não forem reparadas, a tendência é que vândalos quebrem mais janelas. Após algum tempo, poderão entrar no edifício e, se ele estiver desocupado, torna-se uma "ocupação" ou até incendeiam o edifício. Janelas Quebradas
22
23 Senso de abandono
24 Desordem gera desordem
25 Não viva com janelas quebradas
26 Decisões erradas Código mal feito Teste sem asserção Code
smell Não fazer code review Ignorar convenção
27 Negligenciar janelas quebradas é o fator que mais acelera
a entropia de um sistema
28 Negligenciar janelas quebradas é o fator que mais acelera
a entropia de um sistema
29 A regra dos escoteiros
“ 30 Sempre deixe o acampamento mais limpo do que
quando você o encontrou. Regra dos escoteiros
“ 31 Sempre deixe o código melhor do que quando
você o encontrou. Regra dos escoteiros
32 Constante melhoria Aumento de estabilidade Mais deterministico
33 Menos janelas quebradas
34 A importância de criar e encontrar código visualmente agradável
35 Padronização Jenela quebrada inversa Código é para ser lido
36 Estabeleça e Obedeça Convenções
37 Linters & Guias de Estilo
38 O que é um linter?
39 Analise estática
40
41
42
43
44
45
46 Arquivo de configuração Pode rejeitar MR/PR Git hooks
47 Enforça convenção Evita codesmell
48
49
50 O linter cuida de tudo isso pra você!
51 Temos muitas variações de IDE/Editores, o que fazer?
52
53 Efeitos Colaterais & Imutabilidade
54 Busque a pureza
“ 55 Uma função que retorna valores idênticos para parametros
identicos. Não tem nenhum efeito colateral. Pureza
56 Mas o que são efeitos colaterais?
57 I/O - Rendering or Writing Queries Requests Logging Outer-scope
changes Non-explicit changes Randomness
58 Resumindo: Mudar algo em algum lugar
59 Menos bugs Sempre fácil debugar Mais fácil testar Mais
fácil alterar
60 Reutilização com: Currying e Composition Point-free programming
61 Mas ai ferrou =/
62 Efeito colateral é inevitável mas tem jeito certo
63 Sempre evite quando der Principalmente se for uma biblioteca
64 Dependência Imutabilidade Procrastinação
65 Dependência
66 Imutabilidade
67 Procrastinação THE IO or EFFECT MONAD
68
69 Curry and Point-free
70 Conheça sua ferramenta
71 Conheça os recursos Use snippets Automatize repetições Use plugins
72 Começe: Escolha uma boa fonte Escolha um bom tema
Tire tudo da interface que você não use use vim