Questo argomento presuppone che non vi siano problemi con la digitazione di unicodi o la lettura di lettere greche
Ecco l'argomento: ti piacerebbe pi o circular_ratio?
In questo caso, preferirei pi a circular_ratio perché ho imparato a conoscere pi da quando ero alle elementari e posso aspettarmi che la definizione di pi sia ben radicata per tutti i programmatori che valgono la pena. Quindi non mi dispiacerebbe digitare π per significare circular_ratio.
Tuttavia, che dire
winner_sigma_new = ( winner_sigma ** 2 *
( 1 -
( winner_sigma ** 2 -
general_uncertainty ** 2
) * Wwin(t,e)
) + dynamics ** 2
)**.5
o
σw_new = (σw**2 * (1 - (σw**2)/(c**2)*Wwin(t, e)) + γ**2)**.5
Per me, entrambe le versioni sono ugualmente opache, proprio come pi
o π
è, tranne che non ho imparato questa formula nella scuola elementare. winner_sigma
e Wwin
non significa niente per me, o per chiunque altro legga il codice, e l'utilizzo di nessuno dei due σw
non lo rende migliore.
Quindi, l'uso di nomi descrittivi, ad esempio total_score
, winning_ratio
ecc. Aumenterebbe la leggibilità molto meglio dell'uso di nomi ASCII che si limitano a pronunciare lettere greche . Il problema non è che non riesco a leggere le lettere greche, ma non riesco ad associare i caratteri (greco o no) a un "significato" della variabile.
È certamente capito il problema da soli quando si ha commentato: You should have seen the paper. It's just eight pages...
. Il problema è se si basa la denominazione variabile su un documento, che sceglie nomi di una sola lettera per concisione piuttosto che leggibilità (indipendentemente dal fatto che siano greci), quindi le persone dovrebbero leggere il documento per poter associare le lettere a un "senso"; questo significa che stai mettendo una barriera artificiale affinché le persone possano capire il tuo codice, e questa è sempre una cosa negativa.
Anche quando vivi in un mondo solo ASCII, entrambi a * b / 2
e alpha * beta / 2
sei un rendering altrettanto opaco della height * base / 2
formula dell'area del triangolo. La illeggibilità dell'uso di variabili a lettera singola cresce esponenzialmente man mano che la formula aumenta in complessità e la formula AllegSkill non è certamente una formula banale.
La variabile a lettere singole è accettabile solo come semplice contatore di cicli, che si tratti di lettere singole greche o ascii a lettera singola, non mi interessa; nessun'altra variabile dovrebbe consistere esclusivamente in una singola lettera. Non mi interessa se usi le lettere greche per i tuoi nomi, ma quando le usi, assicurati di poter associare quei nomi con un "significato" senza dover leggere un articolo arbitrario da qualche altra parte.
Quando andavo alle elementari, sicuramente non mi dispiacerebbe vedere espressioni matematiche usando simboli come: +, -, ×, ÷, per l'aritmetica di base e √ () sarebbe una funzione a radice quadrata. Dopo essermi diplomato, non mi dispiacerebbe l'aggiunta di nuovi e brillanti simboli: ∫ per l'integrazione. Nota la tendenza, questi sono tutti operatori. Gli operatori sono molto più utilizzati dei nomi delle variabili, ma sono spesso riutilizzati per un significato completamente diverso (nel caso in cui i matematici riutilizzino gli operatori, il nuovo significato spesso contiene ancora alcune proprietà di base del vecchio significato; questo non è il caso di quando si riutilizzano i nomi delle variabili).
In conclusione, no, non è male usare i caratteri Unicode per i nomi delle variabili; tuttavia, è sempre male usare nomi di lettere singole per nomi di variabili e il permesso di usare nomi Unicode non è una licenza per usare nomi di variabili a lettera singola.