Java Script

Часть 1, Часть 2

JavaScript самый распространенный язык программирования в мире и с его силой нужно считаться. Благодаря своей простоте и обилию учебных материалов его легко осваивают начинающие разработчики. Язык имеет огромную экосистему инструментов и библиотек, позволяющую разработчикам писать по-настоящему производительный код как для фронтенда, так и для бэкенда. Именно поэтому JavaScript так привлекателен для компаний любых масштабов.

Skillbox

Ядерная сила JavaScript

JavaScript предлагает множество инструментов и опций, однако горькая правда заключается в том, что язык почти не налагает на разработчиков никаких ограничений. Неопытного JavaScript-разработчика можно сравнить с ребенком, у которого есть коробок спичек и целая канистра с бензином…

Сила JavaScript подобна ядерной энергии — она способна снабжать целые города электричеством или же разрушать их. Просто написать рабочий JavaScript-код — легко, но разработать одновременно надежное и обслуживаемое ПО — нет.

Надежность кода

При строительстве плотины инженеры в первую очередь заботятся о ее надежности. То же самое относится и к строительству мостов, проектированию самолетов и автомобилей… Если автомобиль небезопасен, то количество его лошадиных сил, громкость выхлопа и отделка салона не имеют никакого значения.

То же самое и в программировании! Написание надежного кода — именно в этом состоит первоочередная задача любого разработчика. Никому нет дела до того, насколько ваш код хорош, если он содержит много ошибок.

Как написать надежный код?

Пишите как можно проще. Простой код гораздо надежнее неразборчивого и длинного кода. Именно этот навык отличает опытного разработчика от неопытного. Простой код легче поддерживать, особенно это касается огромных баз кода. Если код сложно поддерживать, то в дальнейшем может пострадать не только его эффективность, но и надежность.

Нехватка оперативной памяти

Для того чтобы разрабатывать надежное ПО, мы должны учитывать количество доступной оперативной памяти (далее ОП). Любой разработчик знает, что разрабатываемое ПО должно эффективно использовать ОП, при этом не занимая ее всю! Если ваше ПО займет всю имеющуюся ОП, часть информации перенесется на жесткий диск и производительность ПО заметно ухудшится.

Человеческий мозг имеет собственную версию оперативной памяти, называемую рабочей памятью. Наш мозг — это одно из самых надежных устройств обработки информации, но и он имеет ограничения. Наша рабочая память может хранить около пять различных частей информации, но не более того.

Тот же принцип справедлив и для программирования. Простой код потребляет меньшее количество доступной памяти, обеспечивая тем самым эффективную и надежную работу всей программы. Всего этого можно и нужно добиваться с помощью JavaScript! 

Примечание для начинающих

В нашем цикле статей мы будем неоднократно использовать возможности ES6. Убедитесь, что вы знакомы с синтаксисом ES6, перед тем как продолжить чтение:

// ---------------------------------------------
// lambda (fat arrow) anonymous functions
// ---------------------------------------------

const doStuff = (a, b, c) => {...}

// same as:
function doStuff(a, b, c) {
  ...
}

  
// ---------------------------------------------  
// object destructuring
// ---------------------------------------------
  
const doStuff = ({a, b, c}) => {
  console.log(a);
}
  
// same as:
const doStuff = (params) => {
  const {a, b, c} = params;
  
  console.log(a);
} 
                              
// same as:                             
const doStuff = (params) => {  
  console.log(params.a);
}

                              
// ---------------------------------------------                            
// array destructuring
// ---------------------------------------------

const [a, b] = [1, 2];
                              
// same as:
const array = [1, 2];
const a = array[0];
const b = array[1];

Инструментарий

Одна из сильнейших сторон JavaScript — это его инструментарий. Ни один современный язык программирования не сможет предложить вам столько же библиотек и инструментов, сколько предлагает JavaScript.

Вам несомненно следует использовать эти инструменты, в частности, ESLint. ESLint — это инструмент, позволяющий проводить статический анализ качества вашего кода, и он является одним из важнейших инструментов для современного JavaScript-разработчика любого уровня.

Большинство разработчиков использует ESLint, просто включив предварительно созданную конфигурацию, например eslint-config-airbnb. Однако с таким подходом вы не получите весь спектр возможностей ESLint. Кроме того, неправильная или недостаточная настройка любого инструмента может повлечь за собой целую вереницу негативных последствий в будущем.

Настройка ESLint

Для того чтобы правильно настроить ESLint, рекомендуется ознакомиться со всеми стандартными правилами (их много) и затем поочередно добавлять их в свой проект. Сначала настраивайте их как предупреждения (warn) и только после этого преобразовывайте в ошибки (error) по своему усмотрению.

В корневом каталоге вашего проекта запустите следующее:

npm i -D eslint
npm i -D eslint-plugin-fp

Затем там же создайте файл .eslintrc.yml:

env:
  es6: true
 
plugins:
  fp
  
rules:
  # далее правила

Если вы используете IDE, например, VSCode, обязательно установите плагин ESLint.

Вы также можете запустить ESLint с помощью командной строки:

npx eslint .

Читайте также:


Перевод статьи Ilya Suzdalnitski: Here’s How Not to Suck at JavaScript