Запис на архитектурно решение: snake_case или camelCase за REST API?
Решение: За крайните точки на REST API ще се използва конвенцията за именуване snake_case
Състояние: Прието
Контекст
При конвенциите за именуване на REST API има два популярни формата: snake_case и camelCase. Форматът snake_case е този, при който всяка дума в името е разделена с долни черти, докато camelCase е този, при който първата дума от името е с малки букви, а следващите думи имат главна първа буква. Това решение ще определи коя конвенция за именуване да се използва за REST API.
Движещи фактори на решението
Съгласуваност със съществуващите конвенции за именуване в проекта
Четливост и яснота за всеки, който може да работи по API
Съответствие с най-добрите отраслови практики за конвенции за именуване на REST API
Лекота на реализация и поддръжка
Решение
За крайните точки на REST API ще се използва конвенцията за именуване snake_case. Този избор се определя от следните фактори:
Съгласуваност: Проектът вече използва конвенцията за именуване snake_case за всички крайни точки и би било полезно да се запази тази конвенция, за да се осигури съгласуваност в целия проект.
Четливост и яснота: Конвенцията snake_case е по-четлива и по-лесна за разбиране. Долните черти осигуряват ясно разделяне между думите, което улеснява анализирането и разбирането на значението на името.
Съответствие с най-добрите отраслови практики: Конвенцията snake_case се използва широко в индустрията и се счита за най-добра практика за REST API, което я прави добър избор за проекта.
Лекота на реализация и поддръжка: Придържането към съществуващата конвенция за именуване е по-лесно за реализиране и поддържане, тъй като при избор на нова конвенция целият съществуващ код и документация би трябвало да бъдат актуализирани.
Последици
Има потенциални последици от това решение.
Ако нови членове на екипа, присъединяващи се към проекта, не са запознати с конвенцията за именуване snake_case, това може да доведе до объркване и грешки в разработката. Тъй като обаче snake_case е широко използвана конвенция, такъв риск е минимален.
Ако в проекта се използват други инструменти или рамки, които са силно базирани на конвенцията camelCase, може да са необходими допълнителни усилия за преобразуване между конвенциите за именуване. Това обаче не е значителна грижа, тъй като проектът е стандартизиран върху конвенцията snake_case.
Като цяло решението да се използва конвенцията за именуване snake_case за крайните точки на REST API води до съгласуван, четлив и отраслово стандартен подход, който същевременно е лесен за реализиране и поддържане.