Рекомендую именовать классы так, как удобно лично вам (или вашей команде).
Лично мне очень не нравятся записи с двойным тире или подчёркиванием, и уж тем более модификаторы "ключ-значение". Смотрится очень громоздко, особенно когда у одного элемента несколько подобных классов.
.menu__item--active {}
.menu__item_state_active {}
Поэтому настоятельно рекомендую подстраивать бэм под себя. Подумайте над задачами, с которыми вы сталкиваетесь сейчас и столкнётесь в будущем, и решите их самым лаконичным способом. Вот, например,
моя модификация бэм. Использую её уже несколько лет. Разработка стала очень приятной.