Спор не про стиль, а про границы 🧱
Речь о snake_case и camelCase 🤨
На разных проектах не раз видел одну и ту же картину. Пока система маленькая - всем ок, «как-нибудь договоримся». Потом проект растёт, подключаются новые команды, и начинается классика: user_id здесь, userId там, userID в третьем месте.
Товарищи по профессии часто жалуются на одно и то же: баг вроде бы «на 5 минут», а полдня уходит только на выяснение, в каком слое поле уже переименовали, а в каком ещё нет.
И вот в этот момент хорошо видно: спор про snake_case и camelCase вообще не про стиль. Он про надёжность договорённостей между слоями.
❗️ Внешний контракт должен говорить на одном языке (часто это snake_case) - без «для этого клиента сделаем по-другому». ❗️ Внутри фронта пусть остаётся привычный camelCase, но преобразование должно жить в одном adapter-слое. ❗️ Если маппинг раскидан по компонентам и сервисам, неточности копятся тихо и выстреливают в релизах. ❗️ BFF (Backend For Frontend) помогает держать эту границу чистой, когда реально появляются разные клиенты и сложные агрегации.
Я для себя это формулирую просто: единый контракт наружу, удобные модели внутри, и никакой «магии» с полями между ними.
Тогда исчезает большая часть мелкого интеграционного шума, который обычно съедает внимание команды сильнее любых «больших» задач.
У вас это уже зафиксировано как правило или пока каждый новый endpoint живёт по своим именованиям?
· 29.04
Дело в том, что начинают подключаться новые библиотеки, часть которых писана на си это как раз про user_ID, часть на плюсах это про userId , часть ещё на чем-то, по хорошему для них надо бы делать wrapper-ы приводящие всё к единому стандарту, да кто же их будет делать то?:) 🤣
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
коммент удалён
· 29.04
Подмастерье, junior, интерн, промпт-инженер, вайб-кодер)
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
ответ удалён