Siccome non possiamo definire una variabile come fruits in basket perché molti (o forse tutti) i linguaggi di programmazione interpretano il carattere spazio come fine dell’identificatore e inizio di qualcos’altro, dobbiamo fare qualcosa come fruitsInBasket.
Camel, pascal, kebab e snake case (e altri) sono tutte convenzioni di denominazione che usiamo nella programmazione informatica per poter creare nomi composti per variabili, tipi, funzioni, clasi e altre strutture nel codice sorgente.
camelCase
Le regole sono che si capitalizzano tutte le parole dopo la prima.
| Raw | camelCase |
|---|---|
| fruits in basket | fruitsInBasket |
| ha errore | haErrore |
| è visibile | èVisibile |
Il caso cammello è comunemente usato per variabili e funzioni in JavaScript.
PascalCase
Qui dobbiamo mettere in maiuscolo tutte le parole inclusa la prima.
| Raw | camelCase | PascalCase | |
|---|---|---|---|
| fruits in basket | fruitsInBasket | FruitsInBasket | |
| ha un errore | hasError | HasError | |
| è visibile | isVisible | IsVisible |
PascalCase è spesso preferito dai programmatori C.
kebab-case
Per questa, aggiungiamo un trattino tra ogni parola e sono tutte minuscole.
| Raw | camelCase | PascalCase | kebab-case |
|---|---|---|---|
| fruits in basket | fruitsInBasket | FruitsInBasket | fruits-in-cestino |
| ha un errore | hasError | HasError | has-error |
| è visibile | èVisibile | èVisibile | è-visibile |
Gli attributi HTML5 possono iniziare con data- come data-name. Inoltre, i CSS usano i trattini nei nomi delle proprietà come background-color.
case_snake
In contrasto con il caso kebab, per il caso snake aggiungiamo invece un underscore.
| Raw | camelCase | PascalCase | kebab-case | snake_case |
|---|---|---|---|---|
| fruits in basket | fruitsInBasket | FruitsInBasket | fruits-in-cestino | frutti_nel_cestino |
| ha errore | haErrore | Ha Errore | ha-errore | ha_errore |
| è visibile | èVisibile | èVisibile | è-visibile | è_visibile |
Molti programmatori usano gli underscore specialmente nei database SQL per cose come creation_datecompany_name, ecc.
Alcuni benefici che le convenzioni di denominazione portano sono:
- Coerenza. Dal momento che nominare qualcosa è uno dei lavori più difficili per un programmatore, almeno possiamo essere d’accordo su una convenzione ed essere coerenti a riguardo.
- Migliore comprensione. I nomi composti spiegano molto meglio di una parola o di un carattere lo scopo della struttura.
- Leggibilità. Migliora la capacità di leggere il codice.
- Automazione. Permette l’uso di strumenti automatici di refactoring e di ricerca e sostituzione.