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
74
Test Drive a Browser Game With AngularJS
theotherzach
0
330
Lineman.js - Chicago Node.js Package Show & Tell
theotherzach
0
79
Nobody Will Train You But You
theotherzach
1
330
Other Decks in Technology
See All in Technology
Rust で関数型ドメインモデリング
takonda
0
140
20261017福岡devIO 「AIは"良いダッシュボード"を作れるか?
jtakeda
0
140
Gemini Intelligence 入門 ― AppFunctions と Gemini Nano
takuroabe
0
250
Metadata - Section 1: HTML Basics
mohab1
0
120
触りたくないデータに、どう触るか AI時代のRBACアクセスガバナンス
ivry_presentationmaterials
0
260
大型犬好きによるPugの紹介
yamanoku
1
160
ソフトウェア ファクトリー - 再現性のあるソフトウェアの工場づくり / Software factory
iktakahiro
6
4.9k
スプシの手作業からの解脱 ~更新はClaude Codeに、見せ方と使い方はGASアプリに任せる~
kentarofujii
0
150
Conditional PED-ANOVA: Hyperparameter Importance in Hierarchical & Dynamic Search Spaces
pfn
PRO
0
130
事業成長とデータ活用を止めないためのマネジメントへ挑戦
hiracky16
0
390
AIカンパニーへの転換を支えた、エンジニアの仕事の再定義
kworkdev
PRO
2
1.2k
Classmethod Company Deck
satoshi7
1
680
Featured
See All Featured
Information Architects: The Missing Link in Design Systems
soysaucechin
1
1.2k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
5
820
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.6k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
800
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
120
120k
We Have a Design System, Now What?
morganepeng
55
8.4k
Accessibility Awareness
sabderemane
1
250
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
940
Exploring anti-patterns in Rails
aemeredith
4
540
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
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]