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
Resisting Complexity
Search
Adam Wathan
July 25, 2018
Technology
690
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Resisting Complexity
Adam Wathan
July 25, 2018
More Decks by Adam Wathan
See All by Adam Wathan
Curing the Common Loop
adamwathan
21
5.7k
Applying the Rules of Simple Design
adamwathan
3
720
Decoupling Packages From Your Framework
adamwathan
7
900
TDD: The Good Parts
adamwathan
16
2.9k
TDD: The Good Parts
adamwathan
4
190
Other Decks in Technology
See All in Technology
カーネルまで探検して理解するふたつの自動計装
sumiyae
0
340
Oracle AI Databaseデータベース・サービス: BaseDB/ExaDB-Dの可用性
oracle4engineer
PRO
1
960
GopherCon @シアトル に行ってきました
logica0419
0
380
AI駆動開発はどこまで来たのか? ファインディの最新実態調査で読み解く現在地 Devin Con Tokyo
akiratom
4
1.9k
Kiro5兄弟のいまどきのセキュリティ基礎知識
kentapapa
0
380
分割40%キーボードにスムーズに入門するには
hoto17296
1
180
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
54k
Microsoft MVP プログラムを紹介するから目指す人増えてくれ
tsubakimoto_s
0
140
どんな手を使っても絶対間に合わせるスケジューラ
asari194617
0
1.5k
Kiro Crew で始める マルチエージェント開発
miu_crescent
PRO
0
200
紙 to デジタル
ichien178
0
360
アクセスキー流出時の対応で再認識した攻撃側と防御側の非対称性について
kazzpapa3
1
440
Featured
See All Featured
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.6k
Code Review Best Practice
trishagee
74
20k
SEO for Brand Visibility & Recognition
aleyda
0
4.7k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6.1k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.1k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
650
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
370
Design in an AI World
tapps
1
290
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
450
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
750
Building Flexible Design Systems
yeseniaperezcruz
330
41k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
240
Transcript
Resisting COMPLEXITY with Adam Wathan
None
None
$gardener = new Gardener; $gardener->water($plant);
None
const names = ['Blair', 'Sam', 'Kelly'] names.reverse() // ['Kelly', 'Sam',
'Blair']
const names = "Blair, Sam, Kelly" names.split(', ')
// ['Blair', 'Sam', 'Kelly']
$date = new DateTime; $date->format('l'); // 'Wednesday'
$gardener->water($plant);
A CAN A GARDENER WATER PLANT. $gardener->water($plant);
A CAN A {OBJECT} {METHOD} {PARAMETER.} ( ) $object->method($param);
A CAN ARRAY REVERSE names.reverse() N
A CAN A STRING SPLIT DELIMITER. names.split(', ')
None
A CAN A STRING SPLIT DELIMITER. names.split(', ')
A CAN A STRING SPLIT DELIMITER. names.split(', ') BE USING
A CAN A {OBJECT} {METHOD} {PARAMETER}. object.method(param) BE USING (
)
METHODS ARE Affordances
None
A CAN A {OBJECT} {METHOD} {PARAMETER}. object.method(param) BE USING (
)
A CAN A STRING SPLIT DELIMITER. names.split(', ') BE USING
A ARRAY names.reverse() N CAN REVERSED BE
A CAN A DATE FORMATTED FORMAT STRING. $date->format('l'); BE USING
A CAN USER SAVED. $user->save(); BE
None
A CAN A {OBJECT} {METHOD} {PARAMETER}. $object->method($param); BE USING (
)
A CAN A GARDENER WATERED PLANT. $gardener->water($plant); BE USING
None
A CAN A GARDENER WATERED PLANT BE USING
A CAN PLANT WATERED BE
$gardener = new Gardener; $gardener->water($plant);
$plant->water();
AGENT NOUNS Eliminating
a·gent noun /ˈājənt noun/ a noun denoting someone or something
that performs the action of a verb, typically ending in -er or -or, e.g., worker, accelerator.
ENCAPSULATION Promoting
CONQUERING YOUR Fear of Facades
$date = new DateTime('now', 'America/Chicago'); $date->format('Y-m-d H:i'); // 2018-07-25
09:00 $date->setTimezone('Australia/Sydney'); $date->format('Y-m-d H:i'); // 2018-07-26 00:00
MATTER Ergonomics
PUSH SIDE WORK TO Event Listeners
GOD OBJECTS Breaking up
NEW CONCEPTS Uncovering
FUNCTION Maybe you just need a
Thanks! @adamwathan https://adamwathan.me