Registro delle decisioni architetturali: snake_case o camelCase per una API REST?
Decisione: per gli endpoint dell'API REST verrà usata la convenzione di denominazione snake_case
Stato: Accettato
Contesto
Nelle convenzioni di denominazione per le API REST esistono due formati popolari: snake_case e camelCase. Nel formato snake_case ogni parola del nome è separata da trattini bassi, mentre in camelCase la prima parola del nome è in minuscolo e le parole successive hanno la prima lettera maiuscola. Questa decisione determinerà quale convenzione di denominazione usare per una API REST.
Fattori determinanti della decisione
Coerenza con le convenzioni di denominazione esistenti nel progetto
Leggibilità e chiarezza per chiunque lavori sull'API
Allineamento con le best practice di settore per le convenzioni di denominazione delle API REST
Facilità di implementazione e manutenzione
Decisione
Per gli endpoint dell'API REST verrà usata la convenzione di denominazione snake_case. Questa scelta è guidata dai seguenti fattori:
Coerenza: il progetto usa già la convenzione di denominazione snake_case per tutti gli endpoint ed è utile mantenere questa convenzione per garantire coerenza in tutto il progetto.
Leggibilità e chiarezza: la convenzione snake_case è più leggibile e più facile da capire. I trattini bassi forniscono una chiara separazione tra le parole, rendendo più facile analizzare e capire il significato del nome.
Allineamento con le best practice di settore: la convenzione snake_case è ampiamente usata nel settore ed è considerata una best practice per le API REST, il che la rende una buona scelta per il progetto.
Facilità di implementazione e manutenzione: mantenere la convenzione di denominazione esistente è più facile da implementare e mantenere, poiché tutto il codice e la documentazione esistenti dovrebbero essere aggiornati se venisse scelta una nuova convenzione.
Conseguenze
Ci sono potenziali conseguenze di questa decisione.
Se i nuovi membri del team che si uniscono al progetto non hanno familiarità con la convenzione di denominazione snake_case, ciò potrebbe portare a confusione ed errori nello sviluppo. Tuttavia, poiché snake_case è una convenzione ampiamente usata, tale rischio è minimo.
Se nel progetto vengono usati altri strumenti o framework fortemente basati sulla convenzione camelCase, potrebbe essere necessario uno sforzo aggiuntivo per convertire tra le convenzioni di denominazione. Tuttavia, non è una preoccupazione significativa poiché il progetto ha standardizzato la convenzione snake_case.
Nel complesso, la decisione di usare la convenzione di denominazione snake_case per gli endpoint dell'API REST dà luogo a un approccio coerente, leggibile e conforme agli standard di settore, essendo al contempo facile da implementare e mantenere.