Snake case: differenze tra le versioni

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca
Contenuto cancellato Contenuto aggiunto
Recupero di 1 fonte/i e segnalazione di 0 link interrotto/i. #IABot (v2.0beta15)
fix
Riga 12: Riga 12:
* [[Perl]]<ref>{{Cita libro|titolo= Perl Best Practices |editore= O'Reilly Media Inc. |autore= Damian Conway |anno= 2005 | ISBN = 0-596-00173-8 |p= 44}}</ref>
* [[Perl]]<ref>{{Cita libro|titolo= Perl Best Practices |editore= O'Reilly Media Inc. |autore= Damian Conway |anno= 2005 | ISBN = 0-596-00173-8 |p= 44}}</ref>
* [[Python]], per nomi di variabili, funzioni e metodi<ref name="pep0008"/>
* [[Python]], per nomi di variabili, funzioni e metodi<ref name="pep0008"/>
* [[Ruby (linguaggio di programmazione)|Ruby]], per nomi di variabili e metodi<ref>{{Cita web|titolo= Ruby Naming Conventions |url= https://github.com/styleguide/ruby/naming }}{{collegamento interrotto}}</ref><ref name=flex>{{cita libro | titolo = Flex on Rails | authore = Tony Hillerson | autore2 = Daniel Wanja | editore = Pearson Education | anno = 2008 | ISBN = 978-0-321-61815-3}}</ref>
* [[Ruby (linguaggio di programmazione)|Ruby]], per nomi di variabili e metodi<ref>{{Cita web|titolo= Ruby Naming Conventions |url= https://github.com/styleguide/ruby/naming }}{{collegamento interrotto}}</ref><ref name=flex>{{cita libro | titolo = Flex on Rails | autore = Tony Hillerson | autore2 = Daniel Wanja | editore = Pearson Education | anno = 2008 | ISBN = 978-0-321-61815-3}}</ref>
* [[Rust (linguaggio di programmazione)|Rust]], per nomi di variabili e funzioni<ref>{{Cita web |titolo= Rust Naming Conventions |url= https://aturon.github.io/style/naming/README.html |accesso= 4 maggio 2019 |urlarchivio= https://web.archive.org/web/20170607051157/http://aturon.github.io/style/naming/README.html |dataarchivio= 7 giugno 2017 |urlmorto= sì }}</ref>
* [[Rust (linguaggio di programmazione)|Rust]], per nomi di variabili e funzioni<ref>{{Cita web |titolo= Rust Naming Conventions |url= https://aturon.github.io/style/naming/README.html |accesso= 4 maggio 2019 |urlarchivio= https://web.archive.org/web/20170607051157/http://aturon.github.io/style/naming/README.html |dataarchivio= 7 giugno 2017 |urlmorto= sì }}</ref>
* [[Elixir (linguaggio di programmazione)|Elixir]], per nomi di atomi, variabili e funzioni<ref>{{Cita web|titolo= Elixir Style Guide |url= https://github.com/niftyn8/elixir_style_guide/blob/master/README.md }}</ref>
* [[Elixir (linguaggio di programmazione)|Elixir]], per nomi di atomi, variabili e funzioni<ref>{{Cita web|titolo= Elixir Style Guide |url= https://github.com/niftyn8/elixir_style_guide/blob/master/README.md }}</ref>

Versione delle 22:01, 9 feb 2021

Codice di una funzione in un modulo del kernel Linux, che fa uso della notazione snake case

Lo snake case,[1] 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.[2]

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".[3] 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.[4]

Linguaggi che usano snake case per convenzione

Note

  1. ^ a b Tony Hillerson e Daniel Wanja, Flex on Rails, Pearson Education, 2008, ISBN 978-0-321-61815-3.
  2. ^ An Eye Tracking Study on camelCase and under_score Identifier Styles, su ieeexplore.ieee.org.
  3. ^ a b Guido van Rossum, Barry Warsaw, Nick Coghlan, PEP 0008 -- Style Guide for Python Code, su python.org, 5 luglio 2001.
  4. ^ Gavin Kistner, Appropriate use of camelCase, su comp.lang.ruby, 23 febbraio 2004. URL consultato il 13 agosto 2015.
    «"BTW...what *do* you call that naming style? snake_case? That's what I'll call it until someone corrects me."»
  5. ^ Xen wiki, su wiki.xenproject.org. URL consultato il 15 marzo 2017.
  6. ^ Library Design Guidelines, su isocpp.org. URL consultato il 13 agosto 2015.
  7. ^ Boost Library Requirements and Guidelines, su boost.org. URL consultato il 13 agosto 2015.
  8. ^ Programming Rules, su erlang.se. URL consultato l'11 agosto 2017.
  9. ^ Damian Conway, Perl Best Practices, O'Reilly Media Inc., 2005, p. 44, ISBN 0-596-00173-8.
  10. ^ Ruby Naming Conventions, su github.com.[collegamento interrotto]
  11. ^ Rust Naming Conventions, su aturon.github.io. URL consultato il 4 maggio 2019 (archiviato dall'url originale il 7 giugno 2017).
  12. ^ Elixir Style Guide, su github.com.
  13. ^ Eiffel Class and Feature Names, su eiffel.org.

Voci correlate

  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica