Snake case
# Snake case

Lo snake case, o snake_case, è la pratica di scrivere gli identificatori separando le parole che li compongono tramite trattino basso (o underscore: _), solitamente con le prime lettere delle singole parole in minuscolo, e la prima lettera dell'intero identificatore minuscola o maiuscola (es. "foo_bar" e "Hello_world"). È ampiamente usato nella programmazione per gli identificatori di variabili, funzioni o nomi di file. Almeno uno studio scientifico sostiene che lo snake case sia oggettivamente più leggibile del camel case, con tempi di reazione minori.

## Storia

L'uso del trattino basso come separatore di parola risale agli anni 1960. Era spesso associato al C, per il quale venne usato nel testo di riferimento The C Programming Language (1978), in contrasto con la notazione Pascal case. Tuttavia, la convenzione rimase per lungo tempo senza un nome specifico, ad esempio il manuale di stile di Python si riferisce ad essa come "lower_case_with_underscores". Il termine "snake case" è stato introdotto dalla comunità Ruby, e il primo uso noto del termine risale ad un post usenet di Gavin Kistner nel 2004.

## Linguaggi che usano snake case per convenzione

* OCaml, per nomi di valori, tipi e moduli
* C, nella libreria standard
* C++, nella libreria standard e nelle librerie Boost (C++)
* Erlang
* Perl
* Python, per nomi di variabili, funzioni e metodi
* Ruby, per nomi di variabili e metodi
* Rust, per nomi di variabili e funzioni
* Elixir, per nomi di atomi, variabili e funzioni
* Eiffel, per nomi di classi e feature
