Bei diesem Argument wird davon ausgegangen, dass Sie keine Probleme mit der Eingabe von Unicodes oder dem Lesen von griechischen Buchstaben haben
Hier ist das Argument: Möchten Sie pi oder circular_ratio?
In diesem Fall würde ich pi dem circular_ratio vorziehen, weil ich pi seit meiner Grundschulzeit kennengelernt habe und ich davon ausgehen kann, dass die Definition von pi für jeden Programmierer, der sein Geld wert ist, gut verankert ist. Daher würde es mir nichts ausmachen, π als kreisförmiges Verhältnis zu tippen.
Aber was ist mit
winner_sigma_new = ( winner_sigma ** 2 *
( 1 -
( winner_sigma ** 2 -
general_uncertainty ** 2
) * Wwin(t,e)
) + dynamics ** 2
)**.5
oder
σw_new = (σw**2 * (1 - (σw**2)/(c**2)*Wwin(t, e)) + γ**2)**.5
Für mich sind beide Versionen genauso undurchsichtig wie pi
oder π
, außer dass ich diese Formel in der Grundschule nicht gelernt habe. winner_sigma
und Wwin
bedeutet nichts für mich oder für andere, die den Code lesen und weder σw
verwenden, noch verbessern sie ihn.
Also, beschreibende Namen, zB total_score
, winning_ratio
usw. erhöhen würde Lesbarkeit viel besser als die Verwendung von ASCII - Namen , die nur griechische Buchstaben aussprechen . Das Problem ist nicht, dass ich keine griechischen Buchstaben lesen kann, aber ich kann die Zeichen (griechisch oder nicht) nicht mit einer "Bedeutung" der Variablen verknüpfen.
Sie verstehen sicherlich das Problem selbst , wenn Sie kommentiert: You should have seen the paper. It's just eight pages...
. Das Problem ist, wenn Sie Ihre Variablennamen auf ein Papier stützen, bei dem Namen mit einem Buchstaben aus Gründen der Prägnanz und nicht der Lesbarkeit ausgewählt werden (unabhängig davon, ob sie griechisch sind), müssen die Leute das Papier lesen, um die Buchstaben mit einem assoziieren zu können "Bedeutung"; Das bedeutet, dass Sie eine künstliche Barriere aufbauen, damit die Leute Ihren Code verstehen können, und das ist immer eine schlechte Sache.
Auch wenn Sie in einer Nur-ASCII-Welt leben, sind beide a * b / 2
und alpha * beta / 2
eine gleichermaßen undurchsichtige Darstellung height * base / 2
der Dreiecksflächenformel. Die Unlesbarkeit der Verwendung von Variablen mit einem Buchstaben nimmt mit zunehmender Komplexität der Formel exponentiell zu, und die AllegSkill-Formel ist sicherlich keine triviale Formel.
Die Variable "Einzelbuchstaben" ist nur als einfacher Schleifenzähler zulässig, egal ob es sich um griechische Einzelbuchstaben oder ASCII-Einzelbuchstaben handelt. Keine anderen Variablen sollten nur aus einem einzigen Buchstaben bestehen. Es ist mir egal, ob Sie griechische Buchstaben für Ihre Namen verwenden, aber wenn Sie sie verwenden, stellen Sie sicher, dass ich diese Namen mit einer "Bedeutung" verknüpfen kann, ohne dass Sie irgendwo anders eine beliebige Zeitung lesen müssen.
In der Grundschule würde es mir definitiv nichts ausmachen, mathematische Ausdrücke mit Symbolen wie: +, -, ×, ÷ für Grundrechenarten zu sehen, und √ () wäre eine Quadratwurzelfunktion. Nachdem ich die Grundschule abgeschlossen habe, würde es mir nichts ausmachen, ein glänzendes neues Symbol hinzuzufügen: ∫ für die Integration. Beachten Sie den Trend, das sind alles Operatoren. Operatoren werden viel häufiger als Variablennamen verwendet, aber sie werden seltener für eine völlig andere Bedeutung wiederverwendet (in Fällen, in denen Mathematiker Operatoren wiederverwenden, enthält die neue Bedeutung häufig noch einige grundlegende Eigenschaften der alten Bedeutung; dies ist jedoch nicht der Fall bei der Wiederverwendung von Variablennamen).
Abschließend ist es nicht schlecht, Unicode-Zeichen für Variablennamen zu verwenden. Es ist jedoch immer schlecht, einzelne Buchstaben für Variablennamen zu verwenden, und die Verwendung von Unicode-Namen ist keine Lizenz für die Verwendung einzelner Buchstaben für Variablennamen.