> Страшная история на ночь
Сегодня расскажу вам страшную историю на ночь — историю о тёмном легаси, в котором даже самые простые вещи умеют удивлять.
Сказ о `is_top`
В некотором царстве, в некотором государстве жило-было тёмное легаси. И было у этого легаси много тёмных-претёмных уголков, до которых не доходил свет рефакторинга. И пошёл добрый молодец в это тёмное легаси, чтобы принести свет и превратить его в светлую радость.
Много всякого было сделано добрым молодцем. И в том числе сортировка в каталоге товаров, которая принесла радость, добавив ускорения проекту.
Но оказалось, что сортировка работает не так, как ожидалось. Тёмное легаси просто так не сдаётся.
Методом светлых мечей-отладчиков и магических логов было найдено страшное заклинание. Сортировка называлась is_top и имела тип bool. Но на самом деле это был int! А в тёмном-тёмном чулане, в дальней-дальней базе данных, оно хранилось как top и имело тип string!
И тогда добрый молодец понял: это не просто баг - это архитектурное проклятие. Правильно это чудо-юдо называть popularity_score, он взял свою светлую клавиатуру Vortex Race III и:
- Переименовал поле в понятное имя - Поправил типизацию на правильную - Написал новые тесты - И даже на бересте закорябал документацию для будущих поколений
И как только истинное имя было произнесено — чары рассеялись! Сортировка заработала как ожидалось и наступила в том проекте благодать, ибо всё теперь называется своими именами и работает согласовано.
Мораль сей истории
Называйте свои классы, методы, параметры и другие вещи своими именами.
- is_active — это bool (активен или нет) - status — это string или enum (какой статус) - count — это int (сколько штук) - popularity_score — это int (насколько популярен)
Когда код говорит правду о себе — его не нужно разгадывать как ребус. Когда имя соответствует сути — система становится предсказуемой.
Тёмное легаси питается неопределённостью и любит такие загадки. И оно ждёт, пока добрый молодец снова ошибётся. Свет рефакторинга начинается с честных имён.
Как победить — говорить правду в коде.
#AmbrionDev #легаси #рефакторинг #типизация #именование #сказкананочь
«А какие «страшные истории» из легаси встречали вы? Делитесь в комментариях — давайте посмеёмся (и поплачем) вместе! 👇»
· 15.07
Легаси – уже страшно, тёмное легаси – вызывает ужас, а добрый молодец – почёт и уважение за светлую радость 🤗
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
коммент удалён
· 15.07
Нести свет в темные дали что может быть интереснее?! ((:
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
ответ удалён