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
JavaScript Playbook
Search
Zach
May 22, 2014
Technology
0
110
JavaScript Playbook
Zach
May 22, 2014
Tweet
Share
More Decks by Zach
See All by Zach
You're Not Special Kalx14
theotherzach
0
64
Test Drive a Browser Game With AngularJS
theotherzach
0
320
Lineman.js - Chicago Node.js Package Show & Tell
theotherzach
0
59
Nobody Will Train You But You
theotherzach
1
310
Other Decks in Technology
See All in Technology
プレーリーカードを活用しよう❗❗デジタル名刺交換からはじまるイベント会場交流のススメ
tsukaman
0
170
2025-10-09_プロジェクトマネージャーAIチャンス
taukami
0
150
「改善」ってこれでいいんだっけ?
ukigmo_hiro
0
160
AWS Top Engineer、浮いてませんか? / As an AWS Top Engineer, Are You Out of Place?
yuj1osm
2
220
Git in Team
kawaguti
PRO
3
380
HR Force における DWH の併用事例 ~ サービス基盤としての BigQuery / 分析基盤としての Snowflake ~@Cross Data Platforms Meetup #2「BigQueryと愉快な仲間たち」
ryo_suzuki
0
220
ニッポンの人に知ってもらいたいGISスポット
sakaik
0
150
RDS の負荷が高い場合に AWS で取りうる具体策 N 連発/a-series-of-specific-countermeasures-available-on-aws-when-rds-is-under-high-load
emiki
3
2.1k
物体検出モデルでシイタケの収穫時期を自動判定してみた。 #devio2025
lamaglama39
0
150
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
930
Digitization部 紹介資料
sansan33
PRO
1
5.5k
衛星画像超解像化によって実現する2D, 3D空間情報の即時生成と“AI as a Service”/ Real-time generation spatial data enabled_by satellite image super-resolution
lehupa
0
170
Featured
See All Featured
Reflections from 52 weeks, 52 projects
jeffersonlam
353
21k
Building Adaptive Systems
keathley
44
2.8k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
Build your cross-platform service in a week with App Engine
jlugia
232
18k
Unsuck your backbone
ammeep
671
58k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.6k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
Designing Experiences People Love
moore
142
24k
Into the Great Unknown - MozCon
thekraken
40
2.1k
Context Engineering - Making Every Token Count
addyosmani
6
260
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
Transcript
JavaScript Playbook
testdouble.com @TheOtherZach
[email protected]
Who We Code For
3 Masters
User Our Code Needs To Solve Somebody’s Problem
Machine Our Code Needs To Execute Efficiently
Maintainer Future Programmers Must Be Able To Extend And Fix
Our Code
Maintainable code is readable and flexible.
Flexible
“I think we’re in trouble. I don’t think we have
the foggiest idea how to compute very well.” - Dr. Gerald Sussman
Why is maintenance so expensive?
The changeability of your code is unknowable until the change
happens.
But we can make bets.
Modular
Dependencies
Libraries / Frameworks
Your Code
Shared & Mutable State
I/O
Knowledge
Every Dependency Increases Rigidity
Tests Sometimes Enforce Modularity
Anybody Who Tells You They Have This Figured Out Is
Selling Something
Summary: ! flexibility is a function of modularity
Readable
class WestSideStory extends RomeoAndJuliet
The readability of your code is unknowable until the reading
happens.
But we can make bets.
Contextual Overhead
Consistency
Chunk Size
Libraries
Ninja Code
Code is often a pleasure to write. Make Yours Fun
To Read
Summary: ! Optimize For Reading, Not Writing
@TheOtherZach’s Specific Advice
Concat & Min in Production
We Configured Grunt For You: ! Lineman.js ! You’re Welcome
Skip Require.js
Bower < cURL
Style Guide or (Coffee|Clojure|Type)Script
Linting or (Coffee|Clojure|Type)Script
Use Ember for client routing
Learn Angular
Use Your Favorite Backend
jQuery Plugins Are Black Boxes
Learning to test ! will make you better
Invent Your Own Best Practices
testdouble.com @TheOtherZach
[email protected]