変数名tmp(temp)

プログラム関連(特にコード記述について)の本・Webページを読んでいると、意味の無い変数名(tmp, arrayなど)を付けるなと書かれている事がある。
スコープが小さいならこれくらいを付けても問題無いような気がするんだが。
また個人的に、変数名tmpはスワップの時に使用している。こんな風に。

int tmp = a[i];
a[i] = a[j];
a[j] = tmp;


もちろん、可能な限り外に出ないようにスコープに注意は払うけど。
tmpの元であるtemporaryは、元々「一時的な」という意味を持つので、こういう場合はまさにぴったりの変数名だと思うんだけどなぁ・・・