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
590
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
630
Decoupling Packages From Your Framework
adamwathan
7
830
TDD: The Good Parts
adamwathan
16
2.8k
TDD: The Good Parts
adamwathan
4
130
Other Decks in Technology
See All in Technology
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
8
65k
エンジニアが組織に馴染むために勉強会を主催してチームの壁を越える
ohmori_yusuke
2
120
人とAIとの共創を夢見た2か月 #共創AIミートアップ / Co-Creation with Keito-chan
kondoyuko
1
720
AIに実況させる / AI Streamer
motemen
3
1.4k
アプリケーションの中身が見える!Mackerel APMの全貌と展望 / Mackerel APMリリースパーティ
mackerelio
0
450
Cursor Meetup Tokyo
iamshunta
2
880
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.2k
libsyncrpcってなに?
uhyo
0
160
ソフトウェアは捨てやすく作ろう/Let's make software easy to discard
sanogemaru
10
5.8k
Roo Codeにすべてを委ねるためのルール運用
pharma_x_tech
1
230
Redmineの意外と知らない便利機能 (Redmine 6.0対応版)
vividtone
0
1.3k
mnt_data_とは?ChatGPTコード実行環境を深堀りしてみた
icck
0
210
Featured
See All Featured
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
15
890
Thoughts on Productivity
jonyablonski
69
4.7k
The Cult of Friendly URLs
andyhume
78
6.4k
4 Signs Your Business is Dying
shpigford
183
22k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
How STYLIGHT went responsive
nonsquared
100
5.6k
GraphQLとの向き合い方2022年版
quramy
46
14k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Code Reviewing Like a Champion
maltzj
523
40k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
52
2.8k
For a Future-Friendly Web
brad_frost
178
9.7k
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