$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Padrões e Boas Práticas
Search
BruNo Oliveira
June 11, 2021
Programming
0
10
Padrões e Boas Práticas
A arte de escrever código
BruNo Oliveira
June 11, 2021
Tweet
Share
Other Decks in Programming
See All in Programming
perlをWebAssembly上で動かすと何が嬉しいの??? / Where does Perl-on-Wasm actually make sense?
mackee
0
120
안드로이드 9년차 개발자, 프론트엔드 주니어로 커리어 리셋하기
maryang
1
130
Canon EOS R50 V と R5 Mark II 購入でみえてきた最近のデジイチ VR180 事情、そして VR180 静止画に活路を見出すまで
karad
0
130
リリース時」テストから「デイリー実行」へ!開発マネージャが取り組んだ、レガシー自動テストのモダン化戦略
goataka
0
140
SwiftUIで本格音ゲー実装してみた
hypebeans
0
480
Vibe codingでおすすめの言語と開発手法
uyuki234
0
110
ローカルLLMを⽤いてコード補完を⾏う VSCode拡張機能を作ってみた
nearme_tech
PRO
0
140
新卒エンジニアのプルリクエスト with AI駆動
fukunaga2025
0
230
愛される翻訳の秘訣
kishikawakatsumi
3
340
Tinkerbellから学ぶ、Podで DHCPをリッスンする手法
tomokon
0
140
[AtCoder Conference 2025] LLMを使った業務AHCの上⼿な解き⽅
terryu16
3
520
AIコーディングエージェント(Manus)
kondai24
0
210
Featured
See All Featured
RailsConf 2023
tenderlove
30
1.3k
ラッコキーワード サービス紹介資料
rakko
0
1.8M
Large-scale JavaScript Application Architecture
addyosmani
515
110k
sira's awesome portfolio website redesign presentation
elsirapls
0
89
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
290
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
0
96
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
0
1.8k
Navigating Team Friction
lara
191
16k
Darren the Foodie - Storyboard
khoart
PRO
0
1.9k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
First, design no harm
axbom
PRO
1
1.1k
Embracing the Ebb and Flow
colly
88
4.9k
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