Кратко
Стиль кода — это правила оформления, которые делают код читаемым. Хороший код понимают другие разработчики (и вы через неделю). Основные правила: 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) { ... }
Ментальная модель
Стиль кода — как пунктуация в тексте. Без неё текст читаем, но с трудом. Со стилем — понимаем сразу.
Примеры
**Самый простой:**
// Плохо:
let x = 10;
let y = 20;
let z = x + y;
// Хорошо:
const firstNumber = 10;
const secondNumber = 20;
const sum = firstNumber + secondNumber;Осмысленные имена переменных делают код самодокументируемым.
**Простой:**
// Плохо:
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)Имя функции должно говорить, ЧТО она делает.
**Реальный пример:**
// Плохо:
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 с веб-страницей.