Я согласен с последовательностью - если у вас уже есть соглашение, то придерживайтесь его.
Однако, если вы создаете новое соглашение, этот вид венгерской нотации может быть действительно плохой идеей, потому что это совсем не СУХОЙ. Например, имя тега <div>
, а затем имя вашего класса снова говорит, что это div. Если вы переключитесь с использования <div>
s на <section>
s, либо ваш код устареет, либо вам придется также изменить все имена классов (возможно, в HTML, CSS и JavaScript). Поскольку вы можете нацеливать классы, используя код типа div.classname
, это абсолютно не добавляет значения.
Лучшая идея - назвать вещи по типу контента, который они включают. Например, в блоге вы можете использовать HTML следующим образом:
<section class="posts">
<article id="post-1" class="post">
<h1>Post Title</h1>
<div class="post-content">
<p>Blah blah blah</p>
<p>Blah blah blah</p>
</div>
<time class="timestamp">17th January 2012</time>
</article>
<article id="post-2" class="post">
<h1>Post Title</h1>
<div class="post-content">
<p>Blah blah blah</p>
<p>Blah blah blah</p>
</div>
<time class="timestamp">18th January 2012</time>
</article>
</section>
<aside class="top-posts block"></aside>
<aside class="contact-form block"></aside>