Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Выбор технологии для разработки игры новичку?

Лучший ответ:
Два проекта проработаны в плане писанины - геймдизайна (сюжет,сеттинг) практически полностью, но дальше работа не идет...Поздравляю! Вы пополнили 99.99999% список "разработчиков игр"!
Хотите сделать быстро 2D и опробовать геймплэй - советую обратить внимание на JS библиотеку CraftyJS
Как освоите как работать с базовыми игровыми понятиями, такими как:
1. игровой цикл
2. сцены и их окружение (в плане архитектуры, а не графики!), 
3. preloader при переходах между сценами и шкала загрузки ресурсов,
3. ресурсы сцены (модели, спрайты, скрипты, разметка уровня и т.д.)
4. корректное освобождение памяти при смене сцены
5. панели диалогов сцены
6. меню: внутри-игровое и основное, зависимости и структура
и т.д. - сможете легко перейти на Unity3D. 
Я так и поступил при создании первого обучающего проекта для себя на Unity3D: вначале - выучил Crafty.js и основы игрового цикла (и как полагается - собрал все грабли)))), затем - перешёл к обучению на Unity3D (а вот тут уже - я знал где эти грабли)))).

Худший ответ:
Да ладно вам! Берите любой инструмент и главное - делайте! Нет проблем при необходимости подобрать иной движок. Важно помнить, что движок - это только инструмент, который выбирается для конкретной задачи. Вам советовали Unity. Это хороший вариант для PC и мобилок. С 2D у него в последнее время весьма круто, но он гораздо навороченее и сложнее Love2D. Зато у unity есть полноценная визуальная среда для создания сцены. 
И опять-таки, не зацикливайтесь на движке. Вы же не ААА проект замыслили :)
Вопрос: Как оглавлять блоки и что делать с дублирующейся информацией?

Лучший ответ:
1) Тегами H1-H6 лучше структурировать непосредственно контент. Для стилизации "формы обратной связи" и других стандартных блоков можно использовать собственные классы и т.д.
2) Если эта секция составляет основную долю контента страницы то, возможно, имеет смысл закрыть. В иных случаях - я бы не закрывал.

Худший ответ:
Ноуиндекс в любом случае работает только в яндексе, поэтому это далеко не панацея. Подзаголовки, как уже написали, лучше использовать для разметки контента.
Вопрос: Почему ключи словаря меняют свой порядок, каков алгоритм?

Лучший ответ:
Глубины поисковых систем сначала освойте.Реализация словаря в Python 2.7

Худший ответ:
Привет.
Если с английским на уровне чтения литературы - обратите внимание на эту книгу. В контексте вашего вопроса - страница 85, подраздел dict and set Under the Hood. Да и просто отличная книга (издание на русском не рекомендую по причине плохого перевода).
На русском языке по данной тематике можно посмотреть этот топик.
Вопрос: Почему в Yii2 каптча всегда выдает *Неправильный проверочный код* при model->save()?

Лучший ответ:
Из за двойной валидацииif (!$model->validate()) {if (!$model->save()) {

Худший ответ:
Доброе утро.
У Вас в правилах валидации что-то не то, это первое.
А второе - слишком намудрили в действии create. Не совсем понятно, что Вы присваиваете в $model->type, да и с остальным...
Возможно надо отталкиваться от следующего:public function actionCreate()
{

   if($model->load(Yii::$app->request->post() && $model->save()){
       // заполняете flash сообщение и делаете редирект
   }
   else{
      return $this->render('create', ['model' => $model')
   }

}
Попробуйте пока так, без "гостя", будет ли работать captcha или нет.
Вопрос: Как на C#.NET инициировать отправку команд от сервера?

Лучший ответ:
Копайте в сторону SignalR

Худший ответ:
Не нужны никакие пулинги и библиотеки, обычный server side events.
Вопрос: В каком порядке соединяются таблицы в запросе?

Лучший ответ:
в каком порядке компоновщик таблиц соединяет таблицы
Запрос выполняется СУБД. Платформа 1С:Предприятие работает с пятью разными типами СУБД: собственной (файловый вариант), Microsoft SQL Server, IBM DB2, Oracle Database и PostgreSQL. Не считая различий в версиях.
В каждой из них оптимизатор запросов СУБД сам определяет в каком порядке соединять запросы основываясь на куче дополнительной информации о таблицах и уже выполненных запросах. Как следствие в разные моменты времени один и тот же запрос на одной и той же базе может выполняться по разному.
Так что однозначного ответа на ваш вопрос нет.

Худший ответ:
"В каком порядке соединяются таблицы в запросе?" - В каком порядке запрашиваются, в таком и соединяется.
"ВНУТРЕННЕЕ СОЕДИНЕНИЕ" означает что это вложенный запрос по указанным параметрам.
Вопрос: Чем производить контроль траффика на Linux-шлюзе?

Лучший ответ:
pfSense в виртуалке поднимите

Худший ответ:
Есть коммерческое решение Kerio Control, если поискать можно найти рабочую версию без ограничений. Он настраивается как шлюз на отдельном линукс сервере, настроек много, в том числе квоты трафика, ограничения скоростей, пробросы и блокировка портов, и много чего еще. Если ранее не сталкивались с такими настроить будет сложновато без знаний принципов работы сети и понимания того что вам нужно. Большинство настроек работают по дефолту.
upd:
Вот попробуйте, у них есть демо. https://control.demo.kerio.com:4081/admin/
Варианты установки https://www.kerio.com/support/kerio-control#tab1
Серверное решение, это собственно RedHat закрытый заглушкой управления и frontend на php, все настройки производятся в браузере.
Вопрос: Давайте попробуем вспомнить самые последние дыры в винде?

Лучший ответ:
Самба одна из последних.
дыр много ну, а закрывать их накати все обновы. И антивирус какойнибудь поставь к примеру комодо он есть бесплатный хороший

Худший ответ:
Можете качать и парсить фиды с cve.mitre.org: https://cve.mitre.org/data/downloads/index.html
Можете заюзать vulners.com -- агрегатор информации об уязвимостях. Там широкий набор средств оповещения, включая сообщения в телеграм, с возможностью фильтрации по разным критериям, есть также API для получения информации.
Но одними апдейтами безопасность не обеспечивается -- систему нужно настраивать соответственно. На этот счёт есть разработанные разными конторами регламенты. Например, вот пачка регламентов под разные платформы и их версии: https://www.cisecurity.org/cis-benchmarks/
Вопрос: Какие из этих моделей Mac будут пригодны для апгрейда?

Лучший ответ:
Которые поиск не умеют - зачем им апгрейд?

Худший ответ:
Последний MacBook Pro который позволяет провести апгрейд памяти и жестких дисков - последняя модель 2012 года, не ретина.
Вопрос: Как контролировать сайт?

Лучший ответ:
Я не знаю как называется такое вредительство, может быть есть целое направление в такой среде и есть термины, методы и примеры?
Есть несколько статей в УК на эту тему, почитайте:Статья 272. Неправомерный доступ к компьютерной ин...

Худший ответ:
Заранее оговаривайте этот момент. Либо же пишите модуль лицензирования, который будет обфусцирован, и будет делать запросы к вам на сервер раз в неделю скажем, а ваш сервер будет отвечать true/false и записывать в логи. Как идентификатор может быть хеш домена. Если лицензии нет - то можно писать хостеру. Это с юридической точки зрения.
Но на самом деле, лучше конечно же просто не отдавать на чужой хостинг свою работу, пока полностью не оплатили. С точки зрения закона вы будете чисты. Для предыдущего варианта нужно советоваться с юристами.
Вопрос: Как лучше ежемесячно подписывать Confirmation of Services с Upwork?

Лучший ответ:
Блин подпишите его сами это же просто бумажка из пайнта или Ворда по сути

Худший ответ:
Собственно, а как Вы по-другому еще его подпишите?
Отослали в Upwork - ждите подписанного документа от них.
Правда, мне всегда приходит подписанный документ на следующий день(общаюсь в чате, тикет они сами создают).
Конечно, кто-то и подпись сам в редакторе ставит: тут уж каждый сам решает, стоит так делать или нет(очевидно, что закон нарушается).
Максимум, что можно оптимизировать - это создать некий шаблон письма для чата, куда при каждом переводе вставлять новую ссылку на дропбокс - для COS. 
Ну или не отправлять деньги каждый месяц
Вопрос: Тормозит мышь и прерывается звук при нагрузке хромом, в чём дело?

Лучший ответ:
Прорисовка курсора мыши в Windows выполняется из ядра. Никакой процесс в юзерспейс не может воздействовать на это. Даже, если запустить одновременно  двадцать процессов, каждый из которых способен нагрузить CPU на 100%, то мышь все равно будет резво бегать по экрану и щелкать по не реагирующим ни на что окнам.
Такое атипичное торможение курсора возможно из-за:Проблемы с железом. Например с HDD (про то, что нужно смотреть SMART уже упомянули выше).Экстремальный перегрев CPU. Например, при снятии кулера на ходу по-горячему, камень от Intel не сгорит сразу, но система начнет работать рывками (1% в работе, 99% ожидание рассеивания тепла), выглядит это именно так - прыжки мыши, заикания звука. Совет: проверить температуру, проверить наличие термопасты (не высохла ли).Проблемы с драйверами. Теоретически любой модуль, загруженный в пространство ядра, может вызывать такое поведение, но практически, чтобы создать такой драйвер, нужно быть ну очень криворуким кодером и наплевать на все, что написано в DDK по поводу обработки прерываний и DPC. Исключение - драйвера к видеокартам, такое ощущение, что разработчики отдают их на аутсорс индусам, а документацию к железу передают им на китайском.

Худший ответ:
Возможно дело в антивирусе. Данное программное обеспечение обожает не только лезть в сам запущенный процесс, но также проверять все создаваемые им файлы, в том числе кеш сайтов. С другой стороны не исключена просто неудачная версия программы, такое бывает у всех разработчиков, экспериментируйте, ищущий да отыщет.
Вопрос: Как получить данные из шаблона по нажатию на кнопку без перезагрузки страницы?

Лучший ответ:
Для формы submit Event.preventDefault();
После отправляем AJAX запрос:// this is the id of the form
$("#idForm").submit(function(e) {


    var form = $(this);
    var url = form.attr('action');

    $.ajax({
           type: "POST",
           url: url,
           data: form.serialize(), // serializes the form's elements.
           success: function(data)
           {
               alert(data); // show response from the django.
           }
         });

    e.preventDefault(); // avoid to execute the actual submit of the form.
});Plain JS: XMLHttpRequestvar http = new XMLHttpRequest();
http.open('POST', url, true);
http.onreadystatechange = function() {
    if(http.readyState == 4 && http.status == 200) {
        console.log(http.responseText);
    }
}
http.send(params);JQ Ajax$.ajax({
  type: "POST",
  url: url,
  data: data,
  success: success,
  dataType: dataType
});

Худший ответ:
vue в связке если использовать удобно думаю очень
Вопрос: Могут ли украсть сессию php?

Лучший ответ:
Как всегда, в теле вопроса написано совсем не то, что в заголовке.
Отвечаем на оба вопроса Могут ли украсть сессию php?при нормальных настройках сайта (httponly cookies, SSL) - практически нереально. Только трояном с компа. Но если есть доступ к компу, то с сессиями уже заморачиваться как-то мелко. 
Хотя я не очень уверен насчет расширений браузера/тулбаров. Думаю, что они доступ к кукам имеют свободный. Может ли другой человек узнав ID сессии и приписав его в свой php скрипт получить доступ к данным сессии моего сайта? Разумеется, может.
Только не описанным способом, конечно. Идентификация происходит через cookies. Соответственно, узнав ID, надо просто отправить нужный session_id со своего сервера или браузера.

Худший ответ:
Сессия хранится на вашем сервере, а в куках - ее ID.
В вашем примере теоретически возможно следующее: если злоумышленник хостится на том же шаред-хостинге у говнопровайдера, который не виртуализирует и даже не разделяет ваши данные. Но с этом случае злоумышленнику гораздо проще украсть все ваши исходники вместе с БД. Надеюсь, что такие хостеры уже все разорились.
Если злоумышленник узнает ID сессии и при этом он имеет тот же IP (например, при подключении к открытому WiFi), то сможет получить с вашего сервера то же, что и исходный юзер. Но это уже совсем другая проблема. Гуглите "Man in the middle"
Вопрос: Как сконвертировать в utf 8 большой текстовый файл?

Лучший ответ:
Правильный ответ - надо было конвертировать при парсинге.

Худший ответ:
команду enconv надо было применять при парсинге для отдельных файлов.
Вопрос: Как реализовать простую физику 2D самолета?

Лучший ответ:
Примерно такая физика (рассчитывается каждый кадр):цикл(вечно) {
  X1 = X0 + Vx;
  Y1 = Y0 + Vy;
  Vx1 = Vx0 + ax;
  Vy1 = Vy0 + ay;
  НарисоватьСамолёт(X1, Y1);
  X0 = X1;
  Y0 = Y1;
  { ax, ay } = ПосчитатьУскоренияВЗависимостиОтУглаСамолётаИТекущейМощностиТурбины();
  ay = ay - 9.8;
}

Худший ответ:
Вам нужны вектора(ы).
Вопрос: Что нужно для быстрого обновления 1С?

Лучший ответ:
Мы для обновления выделили отдельную машину - Максимально быстрое IO - в идеале memdiskМаксимально быстрый проц по гигагерцам на ядро - лучше 2 ядра по 3.5 ГГц, чем 16 по 3 - обновление однопоточное. В идеале что-нибудь 5 ГГцМаксимально быстрая память - объём в обычных базах не особо критичен - не больше 2-3 гигов съедают при обновлении типовые бух и зик.Настройки компьютера - тут уже берём тест Гилева и его статьи и погружаемся.

Худший ответ:
"Отбросить на дуршлаг", то есть делать обновления на отдельной "тестовой" копии. Потом заливать конфигурацию на "рабочую" базу. Одновременно убеждаясь, что обновление не вносит ошибок.
Вопрос: Где можно посмотреть справочник по c++?

Лучший ответ:
devdocs.io/cpp подойдет?

Худший ответ:
Как это ни удивительно, с ролью справочника отлично справляются google.com и stackoverflow.com.
Вопрос: Обоснованно ли переносить Файловый сервер на NAS?

Лучший ответ:
Обоснованно ли переносить Файловый сервер на NAS?Никто не знает, ни задач для которых создан файловых сервер, ни требований к нему, неизвестно справляется он или нет.
Поэтому никакого обоснованного ответа тут дать невозможно.сейчас все работает и работает хорошо, просто хочется модернизацииЕсть такой принцип - работает, не трожь!
А  модернизаторов, которые на работе вносят изменения только из-за того, что им так захотелось - принято гнать с работы обычно.

Худший ответ:
файловый сервер бекапится?
не стоит забывать, что nas это всегда ощутимые затраты.
Вопрос: Как работать с фреймворками?

Лучший ответ:
У Yii документация ад для новичков. У Laravel просто прелесть все.

Худший ответ:
Если вопрос именно "Как работать с фреймворками при условии знания языка?", то расскажу по собственному опыту. Я вливался в коллектив с самописным фрэймворком и очень плохой документацией. Мне не могло никак помочь гугление и т.д.
1 - изучаем входной скрипт, дебажим его. (xdebug, xhprof). Там часто есть что-то вроде включения дебаг режима.
2 - смотри какие паттерны часто используются в проекте. Читай любую доступную документацию, но только тогда, когда нет возможности кодить или что-то не понимаешь.
3 - мне не повезло и впервые пришлось сразу работать с DataMapper, но сразу начинай писать код. Стандартный CRUD комментов. Поля id, title, description. Сделай максимально быстро не вдаваясь в подробности. Если что-то непонятно - goto пункт 2.
4 - если есть автогенераторы - обязательно смотри что они делают, тренируйся писать то, что они генерируют самостоятельно.
5 - начинай много раз с ноля! (Важный пункт) Небольшие задачи решай с самого начала от генерации скафолда. Каждый раз ты будешь узнавать больше нового  и понимать все старое. Очень важно уметь быстро развернуть проект + регистрация, авторизация, пара форм и т.д. Примечание : это называется прототипированием, в этом плане очень хороши фрэймворки типа Laravel и Rails. Они дают возможность очень быстро сгенерировать прототип и начать с ним работать допиливая необходимые части.
6 - Продвигай свой фрэймворк. Используй его при любой возможности. Я писал админки для сайтов на Yii1, когда вся другая команда писала фронтэнд часть на чистом PHP. Разница в скорости заставила всех начать изучать Yii.
7 - Для понимания работы фрэймворка создай минимальный свой. Есть хороший видео-гайд от специалиста. www.specialist.ru вот конкретно этого. Я смотрел очень давно, видос качал с торентов.
Вопрос: Почему оператор инкремента выдает ошибку?

Лучший ответ:
number = number + 1
Нельзя присваивать переменную в аргументах функции.

Худший ответ:
1. вы хотите переопределить number внутри print, можно просто написать print(number + 1)
2. этот код не решает поставленную в условии задачу, но это уже другое
Вопрос: Как пользоваться media c min-width?

Лучший ответ:
max-width: 992px
означает выпалнение этого кода ОТ 1px до 992pxmin-width: 992px
ОТ 992px до бесконечность

Худший ответ:
media screen and (max-width: 1024px){
стили для экранов ДО 1024 пикселя шириной
}
media screen and (min-width: 1024px){
стили для экранов ОТ 1024 пикселя и шире
}
Вопрос: Что значит «скопировать сайт»?

Лучший ответ:
Некоторым нужно просто скопировать статический сайт, например: сайт визитку или лендинг. Часто люди копируют чужие сайты для дорвеев, дропшиппинга, ЦПА сетей и т.д.. 
Например онлайн сервис вебклонер с лёгкостью копирует лендинг, но админку или любой другой динамический контент не возьмёт. Разве что JS скрипты какие.

Худший ответ:
Я обычно беру заказы на скачивание сайта
Обычно просят скачать из вебархива или скачать понравившися им сайт.
Конечно же 100% вы не скопируете.
Если нужно скачать их вебархива, то на питоне есть wayback machine downloader скачиваю html сайт, а потом уже адаптирую под себя
Если нужно скопировать сайт (лендинги и т.д.), то через wget качаю html и начинаю дорабатывать сайт.
Классический пример, скачать сайт и перенести на CMS. Я обычно переношу на ВП. Перенос контента на ВП осуществляю через HTML Import 2 (плагин) или адаптирую БД или парсером.
А на основании скачанного html создаю тему (дизайн), при надобности подключаю бутстрап, дорабатываю стили и скрипты. 
Как-то так
Вопрос: Что такое маркт трафика?

Лучший ответ:
Что такое маркт трафика?Понятия не имею, первый раз о таком слышу. Видимо что-то с магазинами связанное.Что такое mark connection и mark routing трафика и как ее можно применять? Маркировка пакетов, применяется для тонкой настройки маршрутитизации, приоритетов, шейпинга.

Худший ответ:
Судя по всему речь о mikrotik. Это функционал фаервола для "подкраски" пакетов для последующей их обработки тем же фаерволом, например для ограничения скорости. Mark packet сильнее грузит cpu, чем mark connection. Connection - не значит, что будут обрабатываться только tcp-соединения. Для udp трафика это тоже работает. Подробнее читайте про Firewall Mangle и connection tracking.
Вопрос: Как сделать обтекаемый текст внутри круга?

Лучший ответ:
Тыщу пардонов Сэр - а в каком конкретно браузере не поддерживается SVG ?
Только Netscape Navigator который подох давно не счёт
SVG хавает даже IE8

Худший ответ:
SVG отлично поддерживатеся браузерамибраузерами
Вопрос: Какие есть CMS для java-backend разработчика для фриланса?

Лучший ответ:
Что скажите в целом про идею зарабатывать фрилансом на джаве подобным образом?
Попробуйте получить работу в компании на позиции Java Junior Developer. Наберетесь опыта и тогда уже можно думать об удаленной работе или фрилансе.

Худший ответ:
Ну ответ в целом очевиден никакие.
Вопрос: Сталкивались ли вы с тем, что ваш новый потенциальный работодатель писал старому?

Лучший ответ:
Бывает. Что ему мешает, собственно говоря? 
А проблема в чем?

Худший ответ:
Это нормальная история, особенно для удаленки.
Сам когда нанимаю кого-то, где нужен опыт конкретный и кейсы, обращаюсь к прошлым работодателям.
Вопрос: Как приложению, пишущему в таблицу БД MySQL 5.7, получать обратно значение автоинкрементного первичного ключа?

Лучший ответ:
Поговаривают что last_insert_id() возвращает ID последней вставленной записи в рамках текущего подключения. То есть оно будет всегда вам возвращать то, что вам нужно, даже не смотря на то, что у вас много приложений пишущих в базу

Худший ответ:
приложению использовать штатный функционал драйвера бд
В пхп например есть такая функция
mixed mysqli_insert_id ( mysqli $link )
Вопрос: Напряжение спазмировние мышц глаз и лица. Кто сталкивался?

Лучший ответ:
 постановка диагноза.
Ну так и какой диагноз?Может кто, что скажет. Кто сталкивался с подобным.
Что вы ожидаете услышать? И главное - что с этим потом будете делать? Вам диагноз врачи поставили? Вот и следуйте ИХ рекомендациям. Это ВАШ организм - и все советы из интернетиков даже с ТАКИМ ЖЕ диагнозом могут нанести вред.

Худший ответ:
Ответ такой на данный вопрос. 
У меня заболевание кератоконус 1ой стадии.
Мягкие контактные линзы не мой вариант. Не смотря на то, что они корректируют зрение по показателям приборов и таблички. Это в целом не эффективно, хоть часть врачей убеждены (или не осведомлены об обратном).
Суть в том, что все равно ни линзах ни в очках мне небыло комфортно(см кератоконус и симптомы в гугл/яндекс).
Подобрал жесткие склеральные линзы. Это не панацея, но ряд особо болезненных симптомов подушло. С этим тоже есть нюансы. Но суть в том, что коррекция в данном случае проходит значительно лучше. Это как буд-то я раньше ходил с грузами под 20кг на каждой ноге и думал, почему же я так уставал, а сейчас значительная часть груза подушла. Здоровые глаза не ощущают такой перегрузки, которые чувствовал я, соответсвенно не возникает такая существенная симптоматика в виде спазмов.
Вопрос: Как все нормали вывернут «наружу»?

Лучший ответ:
В видео, предложенном Константин Китманов, на 3:55 рассказывают про правило "против часовой".
по итогу
в варианте генерируемого из скрипта меша, правильнее всего не вращать грани/меши куба (хотя так тоже можно,но не стоит), а правильно указать порядок вершин в треугольниках/полигонах, чтобы "лицевая" сторона по умолчанию была верно направленна)

Худший ответ:
Гляньте вот это видео, там ближе к концу про нормали. В частности есть совет просто вызвать https://docs.unity3d.com/ScriptReference/Mesh.Reca... и умная юнити сама поймет что куда.
Вопрос: Как восстановить загрузку Ubuntu после сбоя?

Лучший ответ:
/dev/sdb6: ОБНАРУЖЕНА НЕКОНСИСТЕНТНОСТЬ; ЗАПУСТИТЕ fsck ВРУЧНУЮ.
Корневая файловая система на /dev/sdb6 требует ручного запуска fsck.
Вы же проваливаетесь в оболочку. запустите в ней fsck -fy /dev/sdb6

Худший ответ:
Загрузитесь с флешки, и восстановите grub через chroot. 
Соответствующие инструкции есть в изобилии, гугль подскажет.
На деле все просто.
Вопрос: Система бандлов в Symfony: где писать свой код?

Лучший ответ:
если приложение простое, достаточно src/AppBundle, если посложнее то можно (и зачастую нужно) разбивать на бандлы и группировать как захочется, аля src/OrganizerBundle, src/AdminBundle и тд 
p.s. если бандлов ожидается много, можно добавить еще уровень вложенности
src/Organizer/CoreBundle, src/Organizer/AdminBundle и тд
почитайте бест практики по поводу бандлов для простого приложения
symfony.com/doc/current/best_practices/creating-th...
для сложных эти рекомендации неприменимы.  
mycompanny:MyBundle - это стандартная заглушка со 2 версии, если просто название бандла оставить, думаю ничего не сломается

Худший ответ:
Сначала сделайте роутинг.
Есть роутинг бандлов(папка где лежит настройка symfony), есть роутинг в бандле (тот бандл, который вы создали).
Затем создаёте сущности в вашем бандле.
Потом переходите в папку контроллеров. 
И только потом переходите в папку views где пишите представление визуальное.
Вопрос: Можно ли вместо класса для вложенных элементов описывать их через вложенность (путь) в CSS?

Лучший ответ:
Существуют методологии организации css-кода которых необходимо придерживаться если вы хотите делать действительное качественную верстку. Одна из самых популярных БЭМ. Так же можете почитать статью со списком методологий на Хабре. Плюс есть еще одна достаточно часто обсуждаемая методология, но которой нет в списке, RSCSS.

Худший ответ:
Сильно зависит не только от методологии, но и от самого проекта (на мой взгляд).
Для проекта на битриксе, где просто html, будет одна структура css.
Для проекта, где используется шаблонизатор (по типу twig) будет совершенно другая структура css (кстати, ваш пример, снова же на мой взгляд, напоминает именно этот вариант). 
Для проекта на React будет уже третья структура. А есть еще стилизованные элементы, там как быть?
В общем, однозначного ответа тут быть и не может. 
Одних только методологий несколько штук.
p.s. Конвенций нет. Делайте, чтобы работало хорошо и чтобы остальная команда понимала написанное )