以下は、僕が個人的に決めているルールです。
複数の単語をつなぎ合わせる
例えばエントリ記事の見出しであれば、「entry」+「title」というように、なるべく2つ以上の単語をつなぎ合わせます。1単語だけだとユニークな名前にならない場合があるためです。
後に続く単語の最初の文字を大文字にする
「entry」+「title」であれば、「entryTitle」とします。
一貫性を保つ
エントリ記事の見出しを「entryTitle」と命名したのであれば、エントリ記事の本文は「entryBody」などのように、命名に一貫性を保ちます。
ハイフン、アンダースコアは使わない
原則として、ハイフン、アンダースコアは一切使いません。混同しやすいため、命名に一貫性を保てなくなることがあるのが理由です。尚、一部の古いブラウザではハイフン、アンダースコアは未対応です。
ただし、既存サイトの修正などで、既にid/classの名前にハイフン、アンダースコアを使用している場合には、「一貫性を保つ」ルールを優先させて、ハイフン、アンダースコアを使用してもよいこととしています。