カウンタ変数にいちいち名前をつけるものなのかな?

後輩に「なんでカウンタはiからはじまるんですか?」と聞かれた。
一応簡単に説明したけど、お仕事ではiだと何のカウンタか分からなくなるから使わないでねって言っておいた。

http://h.hatena.ne.jp/keyword/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E5%88%9D%E3%82%81%E3%81%A6%E7%96%91%E5%95%8F%E3%81%AB%E6%80%9D%E3%81%86%E3%81%93%E3%81%A8

個人的にはローカル変数をちょっと見て何のカウンタかわからなくなるようなプログラムは相当注意して書くべきだしそもそも単純にできないか熟慮すべきだし、そうでないところだとローカル変数名はそんなに気合いれなくてもiでいいじゃんと思ってるんだけど(つまり、できるだけ変数名がiとかでもわかるようなコードにしろという感じ)一般的には違うんだろうか。
極端な例だけど「iだと意味がわかんないから」とかいう理由なのかなんなのか知らないけどcounterとかcounterOfArrayとかっていう変数名使ってるのを見ることが時々あるけどそれこそ意味がないし単に長くて読みにくくなっているだけ。nextIndexみたいな名前だとちょっとはマシなのかな。変数名をつけるセンスのない人が努力してもダメということだろうと思うので、自分のセンスの限界を知って、それ以上は無理に頑張らないことが重要なのかと思うんだけど。