短い変数名
某社の人が書いたJavaのコードをデバグさせられてると、変数名、特に短い局所変数名がおかしくてたいへん困るんですよ。nが整数値じゃなくて実数値だったり、ループのカウンタにしか使わないのにxやyだったり、などなど。
変数名が1文字で十分な場合は、私ならたいていはこうしてますけど。
- a
- 配列。
- b
- byte型で表せる範囲の整数値。(eと対で)開始時刻。
- c
- 文字。クラスオブジェクト。
- d
- double型の実数値。
- e
- 例外オブジェクトやエラーオブジェクト。イベントオブジェクト。(bやsと対で)終了時刻。
- f
- float型の実数値。
- i, j, k
- ループのカウンタ。
- l(英小文字のエル)
- 1(数字のいち)と紛らわしいので、1文字では使わない。
- n
- 整数値。
- o(英小文字のオー)
- 0(数字のれい)と紛らわしいので、1文字では使わない。
- r
- 半径。実数値。
- s
- 文字列。(eと対で)開始時刻。
- t
- 一時的な値。時刻。
- x, y, z, w
- 座標など。
文脈によってもかわりますけど、ふつう、こんな感じですよね、ね?
もっとひどいのは3〜5文字程度の変数名です。何百行もあるメソッド*1の途中でいきなりaccmとかccltとか出てきても、誰もわかんないですって。
なぜかOJTバンザイな人ほどひどいコードを書く傾向があるみたいなんですが、可読性を低くするよう教育を受けたんでしょうか。…この会社ならありえる、というのが恐いですけど。
*1:へーきで数百〜数千行のメソッドを書く人だらけ、って時点でおかしいし。