変数に名前を付けることは、常に一意性と包括性のバランスをとる練習です。名前の長さは、さまざまな方法で両方に関連しています。名前が長いほど一意になりやすくなります。中程度の長さの名前は、短すぎるまたは長すぎる名前よりもわかりやすい傾向があります。
非常に短い変数名は、それが理解なる履歴(例えば、ある場合にのみ有用であるi
、j
、およびk
、インデックスのdx
またはすべての参照は、例えば、(一度に見えるようにするために十分に小さいであるスコープ軸に沿った距離のための)を、temp
)。世界で最悪の変数名はのようなものですt47
。(「それはどういう意味で、なぜそれと違うのt46
ですか?」)命名のスタイルが主にFORTRANで出てきたのは良いことですが、これがより長い変数名への欲求が根づいているところです。
あなたの元の論文が示したように、コードをちらっと見ると微妙な内部の違いを見逃す可能性があるため、長すぎる名前も読みにくいです。(DistanceBetweenXAxisAbscissae
&の違いをDistanceBetweenYAxisAbscissae
すぐに理解するのは本当に難しいです。)
NoteToSelfが以前に指摘したように、名前の一意性の要件は、主に名前が一意でなければならないスコープに依存します。5行のループのインデックスはi
; 関数から関数に渡されるアクティブなレコードのインデックスには、よりわかりやすい名前を付けた方が良いでしょう。
関数のローカル変数には、deltaX
問題のないようなわかりやすい名前を付けることができます。モジュール内の静的なデルタX変数には、このdeltaXと同じモジュール内の他のdeltaXを区別する名前を付けて、長くする必要があります。そして、おそらくモジュール名を他の記述名に連結することによって、グローバルなデルタX変数を、すべてのモジュールおよび作成される可能性のある他のすべてのモジュールにわたって一意にする必要があります。これは、グローバルに関する多くの問題の1つです。便利に一意にするために、名前は読みにくくするのに十分な長さでなければなりません。
:
、のように、:(){ :;:& };:
ほとんどの人がかなり悪いと思うと思います。;)