短い変数名

某社の人が書いた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:へーきで数百〜数千行のメソッドを書く人だらけ、って時点でおかしいし。