airbnb.io - JavaScript Style Guide A mostly reasonable approach to JavaScript73,101









Search Preview

Airbnb Engineering & Data Science

airbnb.io
Airbnb.io Open SourceEventsBlogGithubCareersAirbnb.io JavaScript Style GuideA mostly reasonable approach to JavaScript73,101By Harrison ShoffWhy does Java
.io > airbnb.io

SEO audit: Content analysis

Language Error! No language localisation is found.
Title Airbnb Engineering & Data Science
Text / HTML ratio 41 %
Frame Excellent! The website does not use iFrame solutions.
Flash Excellent! The website does not have any flash contents.
Keywords cloud Picasso style cart shopping codebase javascript files blue Style Guide Banksy Monet things period paints paint adding CareersDesign guide spray
Keywords consistency
Keyword Content Title Description Headings
Picasso 10
style 10
cart 8
shopping 8
codebase 6
javascript 6
Headings
H1 H2 H3 H4 H5 H6
1 0 0 1 0 0
Images We found 1 images on this web page.

SEO Keywords (Single)

Keyword Occurrence Density
Picasso 10 0.50 %
style 10 0.50 %
cart 8 0.40 %
shopping 8 0.40 %
codebase 6 0.30 %
javascript 6 0.30 %
files 5 0.25 %
blue 5 0.25 %
Style 5 0.25 %
Guide 5 0.25 %
Banksy 5 0.25 %
Monet 4 0.20 %
things 4 0.20 %
period 4 0.20 %
paints 3 0.15 %
paint 3 0.15 %
adding 3 0.15 %
CareersDesign 3 0.15 %
guide 3 0.15 %
spray 3 0.15 %

SEO Keywords (Two Word)

Keyword Occurrence Density
shopping cart 7 0.35 %
Style Guide 5 0.25 %
to the 4 0.20 %
blue period 4 0.20 %
style guide 3 0.15 %
you have 3 0.15 %
in and 3 0.15 %
period shopping 2 0.10 %
adding new 2 0.10 %
the future 2 0.10 %
have a 2 0.10 %
the codebase 2 0.10 %
spray paint 2 0.10 %
paints over 2 0.10 %
engineer is 2 0.10 %
lots of 2 0.10 %
to be 2 0.10 %
or a 2 0.10 %
and you 2 0.10 %
javascript files 2 0.10 %

SEO Keywords (Three Word)

Keyword Occurrence Density Possible Spam
blue period shopping 2 0.10 % No
© Airbnb Inc 2 0.10 % No
shopping cart and 2 0.10 % No
period shopping cart 2 0.10 % No
to the codebase 2 0.10 % No
you have a 2 0.10 % No
a lot longer 1 0.05 % No
over it but 1 0.05 % No
it but it 1 0.05 % No
but it took 1 0.05 % No
it took a 1 0.05 % No
took a lot 1 0.05 % No
Airbnbio Open Source 1 0.05 % No
lot longer than 1 0.05 % No
just paints over 1 0.05 % No
longer than it 1 0.05 % No
than it should 1 0.05 % No
it should have 1 0.05 % No
should have because 1 0.05 % No
have because of 1 0.05 % No

SEO Keywords (Four Word)

Keyword Occurrence Density Possible Spam
blue period shopping cart 2 0.10 % No
Airbnbio Open Source Events 1 0.05 % No
took a lot longer 1 0.05 % No
and just paints over 1 0.05 % No
just paints over it 1 0.05 % No
paints over it but 1 0.05 % No
over it but it 1 0.05 % No
it but it took 1 0.05 % No
but it took a 1 0.05 % No
it took a lot 1 0.05 % No
a lot longer than 1 0.05 % No
the brush and just 1 0.05 % No
lot longer than it 1 0.05 % No
longer than it should 1 0.05 % No
than it should have 1 0.05 % No
it should have because 1 0.05 % No
should have because of 1 0.05 % No
have because of the 1 0.05 % No
because of the time 1 0.05 % No
brush and just paints 1 0.05 % No

Internal links in - airbnb.io

Open Source
Airbnb Engineering & Data Science
Events
Airbnb Engineering & Data Science
Airflow Use Apache Airflow (incubating) to author workflows as directed acyclic graphs (DAGs) of tasks8,613
Airbnb Engineering & Data Science
Aerosolve A machine learning package built for humans4,385
Airbnb Engineering & Data Science
BinaryAlert Serverless real-time and retroactive malware detection705
Airbnb Engineering & Data Science
AirMapView A view abstraction to provide a map user interface with various underlying map providers1,583
Airbnb Engineering & Data Science
Airpal Web UI for PrestoDB2,345
Airbnb Engineering & Data Science
DeepLinkDispatch Easy declaration and routing of your deep links2,990
Airbnb Engineering & Data Science
Enzyme JavaScript Testing utilities for React14,372
Airbnb Engineering & Data Science
Hammerspace Hash-like interface to persistent, concurrent, off-heap storage302
Airbnb Engineering & Data Science
Hypernova A service for server-side rendering your JavaScript views4,266
Airbnb Engineering & Data Science
Epoxy An Android library for building complex screens in a RecyclerView4,301
Airbnb Engineering & Data Science
Interferon Signaling you about infrastructure or application issues178
Airbnb Engineering & Data Science
JavaScript Style Guide A mostly reasonable approach to JavaScript73,101
Airbnb Engineering & Data Science
The Knowledge Repo A next-generation curated knowledge sharing platform for data scientists and other technical professions2,992
Airbnb Engineering & Data Science
Polyglot Give your JavaScript the ability to speak many languages2,734
Airbnb Engineering & Data Science
Nerve A service registration daemon that performs health checks; companion to airbnb/synapse837
Airbnb Engineering & Data Science
mocha-wrap Fluent pluggable interface for easily wrapping `describe` and `it` blocks in Mocha tests39
Airbnb Engineering & Data Science
Rheostat Rheostat is a www, mobile, and accessible slider component built with React1,248
Airbnb Engineering & Data Science
ReAir A collection of easy-to-use tools for replicating tables and partitions between Hive data warehouses206
Airbnb Engineering & Data Science
react-dates An accessible, easily internationalizable, mobile-friendly datepicker library for the web7,757
Airbnb Engineering & Data Science
Ruby Style Guide Airbnb's Ruby Style Guide2,366
Airbnb Engineering & Data Science
react-with-styles Use CSS-in-JavaScript with themes for React without being tightly coupled to one implementation1,242
Airbnb Engineering & Data Science
Superset Apache Superset (incubating) is a modern, enterprise-ready business intelligence web application19,842
Airbnb Engineering & Data Science
RxGroups Easily group RxJava Observables together and tie them to your Android Activity lifecycle668
Airbnb Engineering & Data Science
StreamAlert A serverless framework for real-time data analysis and alerting1,406
Airbnb Engineering & Data Science
Stemcell Airbnb's EC2 instance creation and bootstrapping tool157
Airbnb Engineering & Data Science
Synapse A transparent service discovery framework for connecting an SOA1,830
Airbnb Engineering & Data Science

Airbnb.io Spined HTML


Airbnb Engineering & Data Science Airbnb.ioUnshutSourceEventsBlogGithubCareersAirbnb.io JavaScript Style GuideA mostly reasonable tideway to JavaScript73,101By Harrison ShoffWhy does JavaScript need a style guide? Let's say you start an e-commerce site. Your first engineer is Picasso during his undecorous period. Your codebase quickly becomes filled with Picasso undecorous period javascript files. He paints you a javascript shopping cart without a problem. He's washed-up it a million times before. But this is his weightier one. It's his masterpiece. And very blue. Your second engineer is Salvador Dali. He shows up on his first day with a camera, a single paintbrush, a silly mustache, and starts contributing some crazy surrealist javascript files. This influences Picasso as they work together and Picasso starts switching things up and begins subtracting cubism files to the codebase. The codebase is so new that Picasso and Dali can protract subtracting new files at any time with no harm, considering there is no maintenance when it's just two engineers subtracting new functionality. No one is stepping on each other's toes. There's unbearable paint for everyone. Then you rent Monet and he comes in and leaves his impression on everything. Now you have a undecorous period shopping cart, impressionist image lazy loading, surrealist photo slide show, and cubism style event tracking in /app/assets/javascripts. The javascripts folder becomes a museum. Let's jump to the future 4 years later. Lots of major functionality has once been built. Picasso has left the visitor to pursue a visitor built on a guernica style. Your merchantry focus has shifted a bit and you need someone to proffer Picasso's undecorous period shopping cart to support collaborative shopping (lots of people sharing the same cart in realtime). Luckily you just hired a rising star in javascript land that likes to spray paint things on the wall, his name is Banksy. So you tell Banksy, "Hey for your first job we need you to modify our shopping cart so it supports collaboration. Timing is really important for the big relaunch, fortunately this should be really easy considering we once have Picasso's shopping cart and it's once a masterpiece. Just reuse that." So Banksy goes in and spray paints over your Picasso shopping cart and makes it collaborative and you have a big successful relaunch. A month later a bug report comes in well-nigh removing items from the shopping cart. Banksy is rented on flipside project, so you get Monet to go in and fix it. Monet doesn't know how to use spray paint cans. So his attempts to fix it are sloppy. He breaks the build. He switches when to the skim and just paints over it, but it took a lot longer than it should have considering of the time to understand and prefer an unfamiliar style. When you have over 80 engineers contributing to one codebase, you quickly learn your usual ways of doing things don't work. So we try to turn everyone into Picasso. No matter where you jump in to the codebase, all the files are familiar and squint like they were painted by you. The most important thing, no matter what your preferred javascript style is, is to be resulting when working with a team or a large codebase that will have to be maintained in the future. The style that works weightier for our team is our Picasso style since that's how it all started. We unshut sourced our style guide so other teams could fork it and turn it into a Monet style guide or a Banksy style guide. Which is lots of fun to watch. As an individual painter/engineer working on side projects and exploring all the wonderful things you can do with javascript, please throw conventions yonder and ignore everything anyone has overly said. It's the only way the world will enjoy the next Picasso.LinksGithubES6+ Style GuideReact Style GuideCSS-in-JS Style GuideES5 Style Guide (Deprecated)Gitter© Airbnb, Inc.© Airbnb, Inc.CareersDesignCareersDesignCareersDesign