CHAPTER FOUR
Too Much Rope, or JavaScript for Teams
Beauty is power and elegance, right action, form fitting function, intelligence, and reasonability.
Kim Stanley Robinson, Red Mars
JavaScript is a flexible language. In fact, this entire book is a testament to its expressiveness and dynamism. Within these pages you’ll hear stories of how to bend the language to your will, descriptions of how to use it to experiment and play, and suggestions for seemingly contradictory ways to write it.
My job is to tell a more cautionary tale.
I’m here to ask the question: what does it mean to write JavaScript in a team? How do you maintain sanity with 5, 10, 100 people committing to the same codebase? How do you make sure new team members can orient themselves quickly? How do you keep things DRY without forcing broken abstractions?
Know Your Audience
In 2005 I joined the Gmail team in sunny Mountain View, California. The team was building what many considered at the time to be the pinnacle of web applications. They were awesomely smart and talented, but across Google, JavaScript wasn’t considered a “real programming language”—you engineered backends, you didn’t engineer web UIs—and this mentality affected how they thought about the code.
Furthermore, even though the language was 10 years old, JavaScript engines were still limited: they were designed for basic form validation, not building applications. Gmail was starting to hit performance bottlenecks. To get around these limitations ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access