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
540
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.3k
Applying the Rules of Simple Design
adamwathan
3
590
Decoupling Packages From Your Framework
adamwathan
7
790
TDD: The Good Parts
adamwathan
16
2.7k
TDD: The Good Parts
adamwathan
4
120
Other Decks in Technology
See All in Technology
TypeScriptの次なる大進化なるか!? 条件型を返り値とする関数の型推論
uhyo
2
1.7k
AWS Lambda のトラブルシュートをしていて思うこと
kazzpapa3
2
180
TypeScript、上達の瞬間
sadnessojisan
46
13k
アジャイルチームがらしさを発揮するための目標づくり / Making the goal and enabling the team
kakehashi
3
150
Lexical Analysis
shigashiyama
1
150
AWS Lambdaと歩んだ“サーバーレス”と今後 #lambda_10years
yoshidashingo
1
180
組織成長を加速させるオンボーディングの取り組み
sudoakiy
2
220
複雑なState管理からの脱却
sansantech
PRO
1
160
オープンソースAIとは何か? --「オープンソースAIの定義 v1.0」詳細解説
shujisado
10
1.2k
【令和最新版】AWS Direct Connectと愉快なGWたちのおさらい
minorun365
PRO
5
760
DynamoDB でスロットリングが発生したとき_大盛りver/when_throttling_occurs_in_dynamodb_long
emiki
1
440
プロダクト活用度で見えた真実 ホリゾンタルSaaSでの顧客解像度の高め方
tadaken3
0
190
Featured
See All Featured
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
131
33k
The Cult of Friendly URLs
andyhume
78
6k
How STYLIGHT went responsive
nonsquared
95
5.2k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
126
18k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
169
50k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Git: the NoSQL Database
bkeepers
PRO
427
64k
Statistics for Hackers
jakevdp
796
220k
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.4k
Art, The Web, and Tiny UX
lynnandtonic
297
20k
Designing for Performance
lara
604
68k
Testing 201, or: Great Expectations
jmmastey
38
7.1k
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