This is a sister question to: Is it bad to use Unicode characters in variable names?
Come è mio, sto lavorando a un progetto linguistico. Mi è venuto in mente che consentire l'identificazione di più token potrebbe migliorare sia la leggibilità che la scrittura:
primary controller = new Data Interaction Controller();
# vs.
primary_controller = new DataInteractionController();
E anche se pensi che sia una buona idea *, mi sono fatto riflettere su quanto dovrebbe essere permissivo un linguaggio sugli identificatori e su quanto valore ci sia nell'essere così.
È ovvio che l'autorizzazione di caratteri al di fuori del solito [0-9A-Za-z_]
presenta alcuni vantaggi in termini di scrittura, leggibilità e prossimità al dominio, ma anche che può creare incubo di manutenzione. Sembra esserci un consenso (o almeno una tendenza) che L'inglese è la lingua di programmazione . Un programmatore cinese ha davvero bisogno di scrivere 电子邮件地址
quando email_address
è la preferenza internazionale?
Odio essere anglocentrico quando si tratta di Unicode, o un stickler quando si tratta di altre restrizioni identificative, ma vale davvero la pena di consentire nomi di variabili pazzi?
tl; dr: il costo del lassismo è superiore al potenziale beneficio?
Perché o perché no? Quali esperienze e prove puoi condividere a favore o contrario alle restrizioni rilassate? Dove pensi sia l'ideale nel continuum?
* Il mio argomento a favore dell'abilitazione di identificatori multi-token è che introduce punti più sensati per spezzare lunghe code di codice, pur consentendo ai nomi di essere descrittivi, e evitando ExcessiveCamelCase
e a_whole_lot_of_underscores
, entrambi a detrimento della leggibilità.