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
3
550
Resisting Complexity
Adam Wathan
July 25, 2018
Tweet
Share
More Decks by Adam Wathan
See All by Adam Wathan
Curing the Common Loop
adamwathan
22
5.4k
Applying the Rules of Simple Design
adamwathan
3
610
Decoupling Packages From Your Framework
adamwathan
7
810
TDD: The Good Parts
adamwathan
16
2.7k
TDD: The Good Parts
adamwathan
4
120
Other Decks in Technology
See All in Technology
RECRUIT TECH CONFERENCE 2025 プレイベント【高橋】
recruitengineers
PRO
0
160
ビジネスモデリング道場 目的と背景
masuda220
PRO
9
550
エンジニアが加速させるプロダクトディスカバリー 〜最速で価値ある機能を見つける方法〜 / product discovery accelerated by engineers
rince
4
380
次世代KYC活動報告 / 20250219-BizDay17-KYC-nextgen
oidfj
0
260
室長と気ままに学ぶマイクロソフトのビジネスアプリケーションとビジネスプロセス
ryoheig0405
0
370
技術的負債解消の取り組みと専門チームのお話 #技術的負債_Findy
bengo4com
1
1.3k
データマネジメントのトレードオフに立ち向かう
ikkimiyazaki
6
1k
インフラをつくるとはどういうことなのか、 あるいはPlatform Engineeringについて
nwiizo
5
2.6k
Developers Summit 2025 浅野卓也(13-B-7 LegalOn Technologies)
legalontechnologies
PRO
0
740
Raycast AI APIを使ってちょっと便利な拡張機能を作ってみた / created-a-handy-extension-using-the-raycast-ai-api
kawamataryo
0
100
スタートアップ1人目QAエンジニアが QAチームを立ち上げ、“個”からチーム、 そして“組織”に成長するまで / How to set up QA team at reiwatravel
mii3king
2
1.5k
(機械学習システムでも) SLO から始める信頼性構築 - ゆる SRE#9 2025/02/21
daigo0927
0
150
Featured
See All Featured
Measuring & Analyzing Core Web Vitals
bluesmoon
6
240
Designing for humans not robots
tammielis
250
25k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Building Flexible Design Systems
yeseniaperezcruz
328
38k
Optimizing for Happiness
mojombo
376
70k
Automating Front-end Workflow
addyosmani
1368
200k
Unsuck your backbone
ammeep
669
57k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
A better future with KSS
kneath
238
17k
How to Ace a Technical Interview
jacobian
276
23k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.3k
Testing 201, or: Great Expectations
jmmastey
42
7.2k
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