Estojo de cobra - Snake case

Pedaço de código de um módulo do kernel Linux , que usa uma caixa de cobra para identificadores.

Snake case (estilizado como snake_case ) refere-se ao estilo de escrita em que cada espaço é substituído por um caractere sublinhado (_) e a primeira letra de cada palavra escrita em minúsculas. É uma convenção de nomenclatura comumente usada em computação , por exemplo, para nomes de variáveis e sub - rotinas e para nomes de arquivos . Um estudo descobriu que os leitores podem reconhecer os valores da caixa da cobra mais rapidamente do que a caixa do camelo . (No entanto, “(...) os sujeitos foram treinados principalmente no estilo sublinhado (...)”, portanto, a possibilidade de viés não pode ser eliminada.)

História

O uso de sublinhados como separadores de palavras remonta ao final dos anos 1960. É particularmente associado com C , sendo encontrado em The C Programming Language (1978), e contrastado com o caso pascal (um tipo de caso de camelo ). No entanto, a convenção tradicionalmente não tinha um nome específico: o guia de estilo da linguagem de programação Python se refere a ela simplesmente como "lower_case_with_underscores".

Na Usenet, o termo snake_case foi visto pela primeira vez na comunidade Ruby em 2004, usado por Gavin Kistner, escrevendo:

"BTW ... como * você * chama esse estilo de nomenclatura? Snake_case? É assim que vou chamá-lo até que alguém me corrija."

No entanto, o ex-engenheiro da Intel Jack Dahlgren afirmou que estava usando o termo internamente na Intel (e talvez em diálogo com os engenheiros da Microsoft ) em 2002. É possível que o termo tenha se desenvolvido independentemente em mais de uma comunidade.

A partir de 2015, os nomes para outras convenções de nomenclatura separadas por delimitador para identificadores de várias palavras não foram padronizados, embora alguns termos tenham níveis crescentes de uso, como lisp-case, kebab-case, SCREAMING_SNAKE_CASE e muito mais.

Exemplos

Uma lista de linguagens de programação que convencionalmente usam estojo de cobra

  • ABAP
  • C ++ , Boost
  • C , para alguns nomes de tipo na biblioteca padrão, mas não para nomes de função.
  • Eiffel , para nomes de classes e recursos
  • Elixir , para nomes de átomos, variáveis ​​e funções
  • Erlang , para nomes de funções
  • GDScript , para nomes de variáveis ​​e funções
  • Java usa SCREAMING_SNAKE_CASE para constantes finais estáticas e valores enum.
  • OCaml , para nomes de valor, tipo e módulo
  • Perl , para variáveis ​​lexicais e sub-rotinas
  • Oracle SQL e PL / SQL , para todos os identificadores não citados (tabelas, colunas, índices, restrições, variáveis ​​PL / SQL, constantes, procedimentos / funções, gatilhos, ...), embora não oficial pela própria Oracle, ainda recomendado pela maioria de conhecidos "influenciadores" e usados ​​em toda a documentação oficial da Oracle
    • Todos os identificadores snake_case não citados são, na verdade, internamente representados como identificadores SCREAMING_SNAKE_CASE.
  • Prolog , para átomos (nomes de predicados, nomes de funções e constantes) e variáveis
  • Python , para nomes de variáveis, nomes de funções, nomes de métodos e nomes de módulos ou pacotes (ou seja, arquivos)
  • PHP usa SCREAMING_SNAKE_CASE para constantes de classe
  • R , para nomes de variáveis, nomes de funções, nomes de argumentos, especialmente no estilo tidyverse
  • Ruby , para nomes de variáveis ​​e métodos
  • Rust , para nomes de variáveis, nomes de funções, nomes de métodos, nomes de módulos e macros
  • Tcl

Veja também

Referências

links externos