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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Zach
May 22, 2014
Technology
110
0
Share
JavaScript Playbook
Zach
May 22, 2014
More Decks by Zach
See All by Zach
You're Not Special Kalx14
theotherzach
0
68
Test Drive a Browser Game With AngularJS
theotherzach
0
320
Lineman.js - Chicago Node.js Package Show & Tell
theotherzach
0
62
Nobody Will Train You But You
theotherzach
1
320
Other Decks in Technology
See All in Technology
20260528_生成AIを専属DSに_Howの次にすべきことを考える
doradora09
PRO
0
280
新規事業を牽引する技術選定 〜フルスタックTypeScript開発の実践事例〜
nullnull
1
180
Diagnosing performance problems without the guesswork
elenatanasoiu
0
150
製造業のクラウド活用最適解〜AI,DXを加速するデータ基盤の作り方〜
hamadakoji
0
300
大学生が本気でDatabricksを活用してDiscordサークルをデータ駆動させてみた
phantomjuju
1
330
エンジニアは生成AIと どのように向き合うべきか? ことばの意味という観点から
verypluming
3
330
Gradle×GitHub_ActionsでCI時間を約50%短縮 ジョブ分割の設計と落とし穴 / Cutting CI Time by ~50% with Gradle and GitHub Actions: Job-Splitting Design and Pitfalls
takatty
0
600
AI駆動開発でなんでもハンズオン環境をつくってみた
yoshimi0227
0
200
個人AIからチームAIへ:開発における品質と生産性の再設計
moongift
PRO
0
360
Generative UI × A2UI で AI エージェントを作った話 AI-DLC も使ってみた!
kmiya84377
1
310
Cloud Run のアップデート 触ってみる&紹介
gre212
0
300
AI駆動開発が変える、大規模開発の前提 ーHuman in the Loop から Human on the Loop へ / AIE2026
visional_engineering_and_design
2
1.5k
Featured
See All Featured
Mind Mapping
helmedeiros
PRO
1
230
Information Architects: The Missing Link in Design Systems
soysaucechin
0
950
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
200
74k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
Music & Morning Musume
bryan
47
7.2k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
55k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.9k
The untapped power of vector embeddings
frankvandijk
2
1.7k
Docker and Python
trallard
47
3.9k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.3k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Marketing to machines
jonoalderson
1
5.3k
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]