Карта / Чистота кода и рефакторинг / Чистый код — основы

Чистый код — основы

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

Понятные имена — главное и самое дешёвое улучшение:

// ❌ плохо
int d;              // что такое d?
List<int[]> l;       // список чего?

// ✅ хорошо
int daysSinceLastLogin;
List<int[]> coordinates;

Маленькие методы, делающие одну вещь:

// ❌ плохо: один метод делает всё сразу
void processOrder(Order order) {
    // 50 строк: валидация, расчёт, сохранение, отправка письма...
}

// ✅ хорошо: имя метода объясняет, что он делает
void processOrder(Order order) {
    validate(order);
    calculateTotal(order);
    save(order);
    notifyCustomer(order);
}
Копнуть глубже

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

Избегай магических чисел/строк:

// ❌ плохо: что значит 0.13?
double tax = price * 0.13;

// ✅ хорошо: имя объясняет смысл числа
static final double VAT_RATE = 0.13;
double tax = price * VAT_RATE;

Комментарии — не оправдание плохому имени. Если приходится писать комментарий, объясняющий что делает метод — лучше переименовать метод так, чтобы комментарий не понадобился. Комментарии нужны для “зачем” и неочевидных решений, а не для пересказа кода (подробнее — в теме «Комментарии и формат»).

🎤 Закрыл тему, если можешь объяснить:
• почему понятные имена и маленькие методы важны;
• что такое "правило бойскаута" и магические числа (если дошёл до 2-го слоя).