О привычке и мерах
Монтень ушёл из суда, заперся в башне своего замка и тридцать лет писал книгу о себе. Не о политике, не о войнах — о том, как он сам устроен. Что его злит, что радует, почему он делает одно и не делает другое. «Опыты» — это толстая тетрадь честных записей. Без претензии на истину.
Я не ушёл в замок. Но я тоже веду записи. Только мои — не про личные нравы, а про код, системы и привычки, которые в них пролезают.
Привычка
Монтень говорил: «Привычка — тихая и незаметная управительница». Она не приказывает — она просто делает за нас. Открываешь проект — Ctrl+P, открываешь терминал, пишешь npm run dev. Новый проект — те же клавиши. Не задумываешься.
И это хорошо. Без привычки невозможно работать. Когда я впервые начал со Strapi 5, каждый шаг требовал усилия: как устроены content types, как работает REST API, где права, как деплоить. Сейчас — автоматизм. Пять минут и новый сервис на ногах.
Но Монтень предупреждал и о другой стороне. Привычка, которая помогает, одновременно слепит. Ты делаешь то же самое, потому что делал раньше, а не потому что это лучший способ.
Я три года писал на Vue. Потом на проекте потребовался React — и я ловил себя на том, что ищу во фреймворке вещи, которых там нет. Vue-привычки. Реактивность через ref, composition API, single-file components. В React это всё устроено иначе, и вместо того чтобы думать на языке нового инструмента, я пытался заставить его работать по-старому.
Монтень так и писал: «Обычай заслоняет нам истинный вид вещей». Фреймворк — это не просто инструмент. Это набор привычек. Сменить стек — значит сменить мышление. А это тяжело.
О мерах
В другом эссе Монтень рассуждает об излишествах. Он за умеренность — не потому что крайности плохи сами по себе, а потому что они мешают видеть цель. Ешь слишком много — забудешь вкус еды. Читаешь слишком много — забудешь, зачем читал.
В разработке это проявляется как архитектурный жор.
У меня проект, где 15 PM2-процессов. Frontend, backend, 10 парсеров, анализатор, дайджест, сборщик фото. Когда я рассказываю об этом, люди спрашивает: «Зачем так много?»
И я сам задаю себе тот же вопрос. Потому что когда запускал — каждый сервис казался необходимым. Один парсер на площадку. Один процесс на аналитику. Логично. Но логика каждого отдельного решения не гарантирует логику целого. Можно сделать сто правильных шагов и прийти в тупик.
Монтень бы понял. Он писал: «Наше положение привычно, и вот мы привыкли быть». 15 процессов — это не катастрофа. Но я знаю, что 8 хватило бы. Знаю — потому что уже проходил через это. Сначала всё кажется необходимым. Потом смотришь и видишь дублирование, лишние прослойки, сервис, который делает ровно одну вещь раз в сутки и мог бы быть cron-задачей.
Опыт учит задним числом
Главная мысль Монтеня: опыт приходит после того, как ты уже всё сделал. Нельзя прочитать книгу и стать мудрым. Нужно набить шишки. Но можно — и нужно — честно оглядываться назад и спрашивать: а зачем я это сделал?
Каждую неделю я нахожу в своём коде что-то, что переписал бы иначе. Не потому что было плохо — потому что теперь я знаю больше. Два месяца назад это было правильное решение. Сегодня — нет. И это нормально. Монтень переписывал «Опыты» пятнадцать лет, добавляя и зачёркивая. Книга росла вместе с ним.
Код — тоже. Не бывает финальной архитектуры. Бывает текущая, которая работает, и следующая, которая будет работать лучше. Между ними — опыт. Не книжный, не из документации. Свой, набитый на своих ошибках.
Привычка как мера
Вот что я понял, читая Монтеня: привычка и мера — это не два разных предмета. Это одно и то же. Привычка — это внутренняя мера. Ты делаешь ровно столько, сколько делал раньше. Ни больше, ни меньше.
Иногда этого достаточно. Автоматизмы экономят время и силы. Но иногда привычная мера устарела. Проект вырос, задачи изменились, а ты всё ещё делаешь так, как делал полгода назад. Не потому что так лучше — потому что так привычно.
Монтень не давал рецептов. Он говорил: «Я не учу — я рассказываю». Вот и я рассказываю. О том, как привычка помогает строить сервисы. И о том, как та же привычка мешает их упрощать. О мерах — которые приходят только с опытом, а опыт — только с ошибками.
Иногда достаточно остановиться и спросить: я делаю так, потому что это правильно, или потому что я так привык?