Snake case

From Wikipedia, the free encyclopedia
Jump to: navigation, search

Snake case (or snake_case) is the practice of writing compound words or phrases in which the elements are separated with one underscore character (_) and no spaces, with each element's initial letter usually lowercased within the compound and the first letter either upper or lower case—as in "foo_bar" and "Hello_world". It is commonly used in computer code for variable names, and function names, and sometimes computer filenames.[1] At least one study found that readers can recognize snake case values more quickly than camel case.[2]


The use of underscores as word separators in identifiers in programming languages is old, dating to the late 1960s. It is particularly associated with C, being found in The C Programming Language (1978), and contrasted with Pascal case, an older term for camel case. However, the convention traditionally had no specific name: the Python style guide refers to it simply as "lower_case_with_underscores".[3]

The name "snake_case" comes from the Ruby community, where it was coined in 2004 by Gavin Kistner, writing:[4]

"BTW...what *do* you call that naming style? snake_case? That's what I'll call it until someone corrects me."

The name is evidently in line with camel case (as the subject of the message notes), continuing the animal theme with a long creature, low to the ground.[citation needed]

As of 2015 names for other delimiter-separated naming conventions for multiple-word identifiers have not been standardized, although some terms have increasing levels of usage, such as lisp-case, kebab-case, SCREAMING_SNAKE_CASE, etc.[5][6][7]

Examples of languages that use snake case as convention[edit]

See also[edit]