Tutti gli articoli

Case Converter: perché esistono stili di denominazione diversi

Molte tastiere e macchine da scrivere italiane più vecchie non avevano tasti dedicati per le vocali accentate maiuscole (À, È, Ì, Ò, Ù), così si diffuse la convenzione di sostituirle con la lettera seguita da apostrofo: "E'" al posto di "È", "perche'" al posto di "perché". La convenzione è tecnicamente scorretta — la Crusca la considera un errore, non un'alternativa — ma resta diffusissima ancora oggi, anche su tastiere moderne che i tasti giusti li hanno eccome.

Gli stili principali

  • camelCase — prima parola minuscola, ogni parola successiva con iniziale maiuscola, senza separatori: userName. Lo standard per variabili e funzioni in JavaScript, Java, C#.
  • PascalCase — lo stesso, ma anche la prima parola è maiuscola: UserName. Usato per classi e componenti quasi ovunque.
  • snake_case — parole unite da underscore, tutto minuscolo: user_name. Standard in Python e per i nomi di colonna nei database.
  • kebab-case — parole unite da trattini: user-name. Standard per URL, classi CSS e attributi HTML, dato che il trattino basso è meno comune negli URL.

Perché non è solo estetica

Negli identificatori di codice il problema delle vocali accentate maiuscole semplicemente non si pone, perché la convenzione quasi universale è evitare accenti e lettere speciali negli identificatori fin dall'inizio: perche invece di perché, non per un limite del linguaggio di programmazione ma per un'abitudine ereditata da un ecosistema di sviluppo nato in ambito anglofono.

A cosa serve la conversione

  • Mappare un campo di una API JSON (di solito camelCase) sul nome di una colonna del database (di solito snake_case).
  • Rinominare variabili quando si porta il codice da un linguaggio a un altro con una convenzione diversa.
  • Generare uno slug compatibile con gli URL o una classe CSS dal testo di un titolo, anche se contiene accenti.

Ambiguità con gli acronimi

Un identificatore come userID o XMLParser mette il convertitore davanti a una scelta: considerare l'acronimo come un'unica "parola" o suddividerlo in lettere singole. Strumenti diversi risolvono la questione in modo diverso — questo convertitore riconosce una sequenza di lettere maiuscole come una parola a sé stante (XMLParserXML + Parser), ma vale la pena verificare il risultato manualmente se il nome finisce direttamente in codice di produzione.

Prova lo strumento