Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
JavaScript Playbook
Search
Zach
May 22, 2014
Technology
120
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
JavaScript Playbook
Zach
May 22, 2014
More Decks by Zach
See All by Zach
You're Not Special Kalx14
theotherzach
0
70
Test Drive a Browser Game With AngularJS
theotherzach
0
330
Lineman.js - Chicago Node.js Package Show & Tell
theotherzach
0
71
Nobody Will Train You But You
theotherzach
1
330
Other Decks in Technology
See All in Technology
ADKで始める業務改善 - AIエージェント開発時の考えと設計
harappa80
2
250
EventBridge に「合流」はない ― サーバーレスのワークフローを育てるということ / No Join in EventBridge
yusukeshimizu
2
350
「どのログを見ればいい?」 から始めた サーバーレス障害解析
y_waka1
1
110
あけおめLINE 傾向とその対策
nasa9084
0
180
サーバーレスをどこまで使う? WebRTC対戦ゲームで選んだVPSとの共存設計
kaidouji85
0
230
Railsのように考える: See through the Master
snoozer05
PRO
4
1.2k
AI 時代のスタートアップエコシステ厶から考究する技術的負債との向き合い方
m3m0r7
PRO
3
2.4k
目の前の楽しいが人生を変える - コミュニティの螺旋の歩き方と楽しむコツ / change your life
soudai
PRO
5
650
映像変換サーバーなしで端末内でHLSを生成してライブ配信
hikarusato
0
130
すぐできる衛星通信対応 あとは山奥に行くだけ
tatetate55
0
140
安心して変更できるWebフロントエンドの作り方
pirosikick
5
2.8k
「守り」で活用するオンデバイスLLM 〜写ってはいけないを総力戦で防ぐ〜 / iOSDC Japan 2026
nakamuuu
0
180
Featured
See All Featured
Prompt Engineering for Job Search
mfonobong
0
450
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6.1k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
280
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
360
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Product Roadmaps are Hard
iamctodd
55
13k
Paper Plane (Part 1)
katiecoart
PRO
2
11k
Darren the Foodie - Storyboard
khoart
PRO
4
3.9k
Code Review Best Practice
trishagee
74
20k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
530
Typedesign – Prime Four
hannesfritz
42
3.2k
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]