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
420
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
(why the hell did I) build a GraphQL client for the browser
bloodyowl
0
92
Boxed: bringing algebraic types to TypeScript
bloodyowl
0
110
leveraging (algebraic data) types to make your UI rock @ jsheroes
bloodyowl
0
290
Leveraging (algebraic data) types to make your UI rock solid
bloodyowl
0
410
La drôle d'histoire de JavaScript
bloodyowl
0
360
Healthy Code Collaboration
bloodyowl
0
280
Simplify your UI management with (algebraic data) types
bloodyowl
0
810
Simplify your UI management with (algebraic data) types
bloodyowl
1
530
Migrating a large Reason+React codebase to hooks
bloodyowl
0
550
Other Decks in Programming
See All in Programming
開発チーム・開発組織の設計改善スキルの向上
masuda220
PRO
13
6.8k
実践 Dev Containers × Claude Code
touyu
1
240
CEDEC2025 長期運営ゲームをあと10年続けるための0から始める自動テスト ~4000項目を50%自動化し、月1→毎日実行にした3年間~
akatsukigames_tech
0
150
DynamoDBは怖くない!〜テーブル設計の勘所とテスト戦略〜
hyamazaki
1
210
レガシープロジェクトで最大限AIの恩恵を受けられるようClaude Codeを利用する
tk1351
2
580
マイコンでもRustのtestがしたい その2/KernelVM Tokyo 18
tnishinaga
2
2.3k
TanStack DB ~状態管理の新しい考え方~
bmthd
2
290
Langfuseと歩む生成AI活用推進
licux
3
290
エンジニアのための”最低限いい感じ”デザイン入門
shunshobon
0
130
Flutterと Vibe Coding で個人開発!
hyshu
1
260
Constant integer division faster than compiler-generated code
herumi
2
690
Flutter로 Gemini와 MCP를 활용한 Agentic App 만들기 - 박제창 2025 I/O Extended Seoul
itsmedreamwalker
0
150
Featured
See All Featured
Optimising Largest Contentful Paint
csswizardry
37
3.4k
Fireside Chat
paigeccino
39
3.6k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.8k
Git: the NoSQL Database
bkeepers
PRO
431
65k
Making the Leap to Tech Lead
cromwellryan
134
9.5k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.4k
4 Signs Your Business is Dying
shpigford
184
22k
Producing Creativity
orderedlist
PRO
347
40k
Visualization
eitanlees
146
16k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
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 ?