- PVSM.RU - https://www.pvsm.ru -

Чистый javascript.Переменные

Перевод книги Раяна Макдермота чистый код [1] адаптированной под javascript.

Оглавление:

image

Используйте значимые и произносимые имена переменных

Плохо:

const yyyymmdstr = moment().format('YYYY/MM/DD');

Хорошо:

const yearMonthDay = moment().format('YYYY/MM/DD');

Используйте один и тот же метод для того же типа переменной

Плохо:

getUserInfo();
getClientData();
getCustomerRecord();

Хорошо:

getUser();

Используйте именованные значения

Мы будем читать код чаще, чем мы когда-нибудь напишем. Важно писать читаемый код, который легко искать. Делайте ваши имена для поиска. Такие инструменты, как buddy.js [3] и ESLint [4] могут помочь идентифицировать неназванные константы.

Плохо:

// Что значит 86400000?
setTimeout(() => {
  this.blastOff();
}, 86400000);

Хорошо:

// Объявляйте их как глобальные переменные.
const MILLISECONDS_IN_A_DAY = 86400000;

setTimeout(() => {
  this.blastOff();
}, MILLISECONDS_IN_A_DAY);

Используйте объясняющие переменные

Плохо:

const address = 'One Infinite Loop, Cupertino 95014';
const cityStateRegex = /^[^,\]+[,\s]+(.+?)s*(d{5})?$/;
saveCityState(address.match(cityStateRegex)[1], address.match(cityStateRegex)[2]);

Хорошо:

const address = 'One Infinite Loop, Cupertino 95014';
const cityStateRegex = /^[^,\]+[,\s]+(.+?)s*(d{5})?$/;
const [, city, state] = address.match(cityStateRegex);
saveCityState(city, state);

Используйте очеловеченные названия

Явное лучше, чем неявное.

Плохо:

const locations = ['Austin', 'New York', 'San Francisco'];
locations.forEach((l) => {
  doStuff();
  doSomeOtherStuff();
  // ...
  // ...
  // ...
  // Что значит `l`?
  dispatch(l);
});

Хорошо:

const locations = ['Austin', 'New York', 'San Francisco'];
locations.forEach((location) => {
  doStuff();
  doSomeOtherStuff();
  // ...
  // ...
  // ...
  dispatch(location);
});

Не добавляйте ненужный контекст

Если ваше имя класса / объекта говорит вам что это, не повторяйте тоже при именовании его свойств и методов.

Плохо:

const Car = {
  carMake: 'Honda',
  carModel: 'Accord',
  carColor: 'Blue'
};

function paintCar(car) {
  car.carColor = 'Red';
}

Хорошо:

const Car = {
  make: 'Honda',
  model: 'Accord',
  color: 'Blue'
};

function paintCar(car) {
  car.color = 'Red';
}

Используйте условия по умолчанию вместо коротких замыканий или условных выражений

Плохо:

function createMicrobrewery(name) {
  const breweryName = name || 'Hipster Brew Co.';
  // ...
}

Хорошо:

function createMicrobrewery(breweryName = 'Hipster Brew Co.') {
  // ...
}

Автор: BoryaMogila

Источник [5]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/javascript/233283

Ссылки в тексте:

[1] чистый код: https://github.com/ryanmcdermott/clean-code-javascript

[2] Введение: https://habrahabr.ru/post/319472/

[3] buddy.js: https://github.com/danielstjules/buddy.js

[4] ESLint: https://github.com/eslint/eslint/blob/660e0918933e6e7fede26bc675a0763a6b357c94/docs/rules/no-magic-numbers.md

[5] Источник: https://habrahabr.ru/post/319476/?utm_source=habrahabr&utm_medium=rss&utm_campaign=best