Airbnb известен многим как приложение, к которому они обращаются, чтобы найти место, где можно остановиться во время путешествия. Альтернатива отелям, и хотя она не совсем свободна от противоречий, Airbnb стала высоко ценимым крупномасштабным проектом, который теперь торгуется на бирже.

Однако, как следует из названия, я буду писать не о практике компании в отношении жилья, а о ее практике программного обеспечения. На этой неделе, управляя продуктом React, я понял, насколько важно для команды четкое руководство по стилю. Я работаю над установлением единого стандарта стиля для наших проектов на основе Javascript/React, и стандарт airbnb является ценной частью этого.

Для сравнения, FYC Labs, где я сейчас работаю, использует eslint, eslint-config-airbnb, и eslint-config-airbnb-typescript. Это позволяет мне установить стандарт, с которым может согласиться вся команда разработчиков. Хотя, если вы не используете машинописный текст, руководства по стилю Airbnb доступны на javascript. *Примечание. Tslint устарел, поэтому обязательно используйте и/или обновите свои проекты до eslint и используйте файл .eslintrc.js для своей конфигурации.

Почему стандарт airbnb для стиля javascript настолько эффективен?

  • Он сочетает в себе четкие основы обработки примитивных типов.
  • Правильное использование ссылок let и const (которые я предпочитаю, чтобы все было блочным и аккуратным), в отличие от определения области действия с помощью var.
  • Чистый синтаксис создания объектов, эффективное использование сокращений для методов и значений.
  • Операции со сплошным массивом, включая применение операторов распространения для итерируемых объектов и отказ от использования операторов распространения из сопоставления с итерируемыми объектами.
  • Мне лично нравятся одинарные кавычки для строк.
  • Мне также нравится заканчиваться точкой с запятой, не то чтобы я член общества сохранения точки с запятой, но есть что-то психологическое в использовании ее в конце.
  • Выражения именованных функций!
  • Неявные возвраты для одного оператора в теле функции.
  • Контроль тернарных операторов и плохих практик.

Есть так много серьезных преимуществ, которые вы можете прочитать в документации к Руководству по стилю JavaScript здесь. Если вы используете React, здесь есть отличное руководство по стилю для JSX. Руководство по JSX укрепляет разумные практики в отношении интервалов, доступности, напоминая нам, что нет встроенной поддержки конфиденциальности (без префикса подчеркивания) и стилей выравнивания. Это еще не все, поэтому обязательно прочитайте документацию.

Что я ценю в открытом исходном коде Airbnb, так это приверженность разработчиков обучению меня и многих других написанию надежного, удобочитаемого и эффективного кода. Я помню, как я посетил офисы в Сан-Франциско (когда я учился программировать еще в 2016 году) и участвовал во вступительном докладе о React. Моим выводом было то, что я оценил самоотверженность команды в представлении передового опыта в React, но, что более важно, в обмене знаниями.

Эти воспоминания определенно определяют, почему я продолжаю изо всех сил стараться последовательно использовать эти стандарты. Если вы только начинаете работать с Javascript и React и хотите разработать передовой опыт, я настоятельно рекомендую вам прочитать эту документацию, а также с самого начала установить и использовать пакеты eslint в своих проектах.

В этом году я планирую более подробно написать о конкретных примерах использования хорошего стиля кода, CI/CD, gitflow и других практиках эксплуатации, которые могут помочь сделать ваш код еще лучше, чем он есть сейчас.

Продолжайте учиться, продолжайте кодировать, продолжайте расти.