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
Best practices
Search
Matthias Le Brun
February 27, 2019
Programming
0
430
Best practices
Should we trust "best practices"? A take on dogmatism in the development industry.
Matthias Le Brun
February 27, 2019
Tweet
Share
More Decks by Matthias Le Brun
See All by Matthias Le Brun
GraphQL, Pothos & SQLite: a perfect match
bloodyowl
0
75
(why the hell did I) build a GraphQL client for the browser
bloodyowl
0
130
Boxed: bringing algebraic types to TypeScript
bloodyowl
0
150
leveraging (algebraic data) types to make your UI rock @ jsheroes
bloodyowl
0
310
Leveraging (algebraic data) types to make your UI rock solid
bloodyowl
0
460
La drôle d'histoire de JavaScript
bloodyowl
0
380
Healthy Code Collaboration
bloodyowl
0
340
Simplify your UI management with (algebraic data) types
bloodyowl
0
830
Simplify your UI management with (algebraic data) types
bloodyowl
1
550
Other Decks in Programming
See All in Programming
API Platformを活用したPHPによる本格的なWeb API開発 / api-platform-book-intro
ttskch
1
120
今、アーキテクトとして 品質保証にどう関わるか
nealle
0
200
Rubyと楽しいをつくる / Creating joy with Ruby
chobishiba
0
200
ベクトル検索のフィルタを用いた機械学習モデルとの統合 / python-meetup-fukuoka-06-vector-attr
monochromegane
2
320
Ruby x Terminal
a_matsuda
7
580
Claude Code の Skill で複雑な既存仕様をすっきり整理しよう
yuichirokato
1
290
go directiveを最新にしすぎないで欲しい話──あるいは、Go 1.26からgo mod initで作られるgo directiveの値が変わる話 / Go 1.26 リリースパーティ
arthur1
2
470
PostgreSQL を使った快適な go test 環境を求めて
otakakot
0
410
LangChain4jとは一味違うLangChain4j-CDI
kazumura
1
150
AI活用のコスパを最大化する方法
ochtum
0
120
grapheme_strrev関数が採択されました(あと雑感)
youkidearitai
PRO
1
210
Railsの気持ちを考えながらコントローラとビューを整頓する/tidying-rails-controllers-and-views-as-rails-think
moro
4
370
Featured
See All Featured
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
120
[SF Ruby Conf 2025] Rails X
palkan
2
810
Git: the NoSQL Database
bkeepers
PRO
432
66k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.8k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
0
220
SEO for Brand Visibility & Recognition
aleyda
0
4.3k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.7k
Why Our Code Smells
bkeepers
PRO
340
58k
Un-Boring Meetings
codingconduct
0
220
Transcript
Hello
None
Is there a great divide?
styling data a11y perf
Different jobs ?
styling data a11y perf Every company has its own definition
JS-JS-JS vs HTML-CSS-JS
Different belief system
Best practices
Separation of concerns
SEPARATION OF CONCERNS Is the separation worth it now ?
SEPARATION OF CONCERNS CSS-in-JS
SEPARATION OF CONCERNS
SEPARATION OF CONCERNS
SPAs
Semantic tags
ARIA
DRY
KISS
a.map(f).map(g) vs a.map(x !=> g(f(x)) KISS
YAGNI
Don't reinvent the wheel
DON'T REINVENT THE WHEEL Reinventing isn't bad
YAGNI Owning your code can be good
Organise your files this way Make smart and dumb components
Use redux with ducks Write tests first You must respect HTTP verbs Premature optimisation is root the root of all evil …
And there's some truth to all of them
but …
they are not necessarily accurate for your context
Your postulate might be different
Reassess over time
Best doesn't mean forever
Best doesn't mean forever
None
Thank you
Matthias Le Brun @bloodyowl Questions ?