Разработка — это про философию
Уже не первый раз, когда я работаю с какой-то технологией или занимаюсь разработкой, то приходит мысль: «сейчас мне нужно сделать выбор: я могу назвать это вот так или вот так»
И на первый взгляд разницы нет: называй как хочешь. Но бывает, что у такого выбора есть далеко идущие последствия, которые незаметно, но стабильно портят жизнь
Один из недавних примеров — мой сайт, на котором помимо лендинга еще есть статьи
Для сборки сайта я использую Hugo. Это быстрый способ сделать SEO-дружелюбный сайт: весь контент — просто Markdown-файлы
И вот я решил добавить опцию «noindex», чтобы иметь возможность скрыть неоформленные статьи от индексирования и чтобы Google не посчитал их малоценными раньше времени 👀
Здесь у меня возник выбор:
— сделать так, чтобы по-умолчанию страницы индексировались, а если указать «noindex: true», то они исключались бы из поиска
— или наоборот: без опции страница скрыта, и только «noindex: false» делает её видимой
Какой вариант правильный? Вопрос философский
На самом деле это относится к понятию sensible defaults, которое ещё можно назвать правилом наименьшего удивления
Кстати, изначально оно связано с эргономикой пользовательского интерфейса, а не разработкой и кодом
Вот так, казалось бы, даже такая банальная вещь, как опция «да/нет», может увести в довольно глубокую кроличью нору
Каждый, кто хотя бы раз писал код и перед кем вставал выбор, какой вариант использовать по-умолчанию, невольно сталкивался с этим
А вы как думаете: по умолчанию должно быть «всё видно» или наоборот «всё скрыто»?