То что такой подход в программировании себя зарекомендовал спорить не буду. Там иначе функцию не назовешь. Да и переменную тоже, так как "-" воспринимается как минус. А вот в вебе классы настоятельно рекомендуется именовать маленькими буквами. Словосочетания через "-". Как минимум потому что в обычной типографии (книги, журналы прочее) между словами присутствует расстояние -- пробел. Удобнее прочитать ".block-name" нежели .blockName потому что первые вариант больше схож с обычным, привычным ему, текстом. Читается проще, быстрее. Распознание текста выше так как "-" воспринимается в качестве пробела. Особенно это касается длинных слов: .available-in-stock против .availableInStock .welcome-msg или .welcomeMsg .form-language или .formLanguage .col2-right-layout или .col2RightLayout И вот представь что у тебя 30+ CSS файлов, которые написаны в стиле .blockName и каждый клас требуется распозновать читая по-буквам, ищем большую букву для разделения словосочетания что бы понять. Да, к этому можно привыкнуть, и читать на лету, только вот зачем? Данная форма записи чужда в распознании на лету не подготовленному разработчику. Кажется мы с тобой уже вели диалог на данную тему 6-12 мес назад. Ссылки, да пожалуйста: http://www.yandex.ua/ http://getbootstrap.com/ Сюда так же можно привести и https://www.google.com но там подход иной. На фронте им свойственно сжимать классы до букв: .a, .ab, .abc или же .zA .yO -- шикарный подход что бы ужать код ибо CSS регистрозависим. Думаю этого более чем с головой.