JS Core

Стиль кода

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

Начальный (Beginner)
Нужно знать:Модули (ES Modules)

Кратко

Стиль кода — это правила оформления, которые делают код читаемым. Хороший код понимают другие разработчики (и вы через неделю). Основные правила: camelCase, осмысленные имена, консистентность, комментарии к сложной логике.


Подробно

Почему стиль важен:

  • Код читают в 10 раз чаще, чем пишут
  • Нечитаемый код — источник ошибок
  • Командная работа требует единых стандартов

Именование:

  • camelCase для переменных и функций: userName, getUser()
  • PascalCase для классов: User, ValidationError
  • UPPER_SNAKE_CASE для констант: MAX_RETRIES
  • Булевы: is/has/can: isActive, hasPermission
  • Массивы: во множественном: items, users

Форматирование:

  • 2 пробела (или 4 — выберите и придерживайтесь)
  • ; в конце инструкций
  • Пробелы вокруг операторов: let x = 5 + 3;
  • Пустая строка между блоками кода

Паттерны:

  • const по умолчанию, let если нужно менять
  • Ранний return (guard clause)
  • Destructuring для параметров
  • Template literals для строк

Плохо vs Хорошо: Плохо: let d = new Date(); let x = d.getHours(); if (x > 12) {...} Хорошо: const currentHour = new Date().getHours(); if (currentHour > 12) { ... }


Ментальная модель

Стиль кода — как пунктуация в тексте. Без неё текст читаем, но с трудом. Со стилем — понимаем сразу.


Примеры

**Самый простой:**

javascript
// Плохо:
let x = 10;
let y = 20;
let z = x + y;

// Хорошо:
const firstNumber = 10;
const secondNumber = 20;
const sum = firstNumber + secondNumber;

Осмысленные имена переменных делают код самодокументируемым.

**Простой:**

javascript
// Плохо:
function f(a, b) {
  if (a > b) return a;
  else return b;
}

// Хорошо:
function getMax(first, second) {
  return first > second ? first : second;
}
// Или ещё лучше: Math.max(first, second)

Имя функции должно говорить, ЧТО она делает.

**Реальный пример:**

javascript
// Плохо:
function p(u) {
  if (u.a && u.b) {
    return u.a + u.b;
  }
  return 0;
}

// Хорошо:
function calculateTotalScore(user) {
  if (!user.firstName || !user.lastName) {
    return 0;
  }
  return user.firstName + user.lastName;
}

// Ещё лучше:
function calculateTotalScore({ firstName = '', lastName = '' } = {}) {
  return firstName + lastName;
}

Destructuring параметров + значения по умолчанию + осмысленные имена.


Частые ошибки

**Неправильно:** Использовать однострочные имена для важных переменных

**Почему:** x, y, z, d, s — ничего не говорят о назначении переменной.

**Правильно:** Используйте осмысленные имена: userName, totalScore, currentDate.

**Неправильно:** Миксовать стили в одном проекте

**Почему:** Когда каждый пишет по-своему — код нечитаем.

**Правильно:** Согласуйте стиль и придерживайтесь его. Используйте линтеры (ESLint).

**Неправильно:** Комментировать каждый день

**Почему:** Комментарии для «ЗАЧЁМ», а не «ЧТО». Если код понятен из имён — комментарий не нужен.

**Правильно:** Комментируйте сложную логику, не очевидный код.


Важно запомнить

  • camelCase для переменных и функций
  • PascalCase для классов
  • Осмысленные имена > короткие имена
  • const по умолчанию, let если нужно
  • Комментируйте ЗАЧЁМ, а не ЧТО

Связь

Назад: Теперь вы знаете все концепции JavaScript Core (J0-J26) — этот урок связывает их воедино.

Вперёд: Вы завершили JavaScript Core! Дальше — DOM Basics (D1-D8): как связать JavaScript с веб-страницей.

Материалы курса JS Core — PROlab Academy.