Ярослав Иванов: При чем здесь бэм извините.. К чему столько глупости и сарказма? Может вы еще html, css и js юзаете в своих проектах? Я буду очень удивлен при таком раскладе!
Mary Солнечная: Да при чем здесь сетка? Я же говорю как раз про такие компоненты, как аккордион, модалки, дропдауны и т.д.. Они же тупо в каждом проекте можно сказать! Варианта только 2 или свои заготовки, либо какой то фреймворк. Каждый раз писать заново одни и те же вещи нет смысла!
Ну смотрите, есть ukit например, его кастомизировать намного проще и безопасней, чем бутстрап.. Там куча готовых решений, которые используются на каждом сайте.. Почему не брать эти решения и не переделывать под свой дизайн? Там же по сути главное - логика, а стили спокойно можно поменять. Кстати вы используете свои заготовки или если проект сложный вообще все с нуля пишите?
Ещё мысль вспомнил.. Сейчас столько готовых решений что можно собрать почти любой проект.. В вебе по крайней мере. Так то я с фреймворками работаю, но непонятно что особо писать, когда все готово уже
Надо правда вопрос создавать как научиться этому, работая на фрилансе и писав на пхп !) Я в офисе проработал всего месяц и там действительно когда код ревью раз 10 не пройдешь по любому запомнишь как правильно, а когда наставника нет даже не представляю как учиться.. Говнокод то любой писать может. Также и над крупными проектами не поработаешь, так как на фрилансе их мало и берут туда крутых дядек
Спасибо за ответ.. SOLID читал, но там же абстрактно все очень. А как вообще можно прийти к наиболее правильному построению архитектуры? Практика понятно конечно, но может книги кто подскажет или ещё что посоветует?
ок, с вылезкой элементов за контэйнер да, может быть дизайнер должен думать об этом. Но как сделать к примеру рамку с болтиками или ленту "Почему лучший?". Эти блоки я хочу сделать полностью адаптивными. Т.е. чтобы можно было не париться сколько текста вставлять и они нормальное расширялись.
Большое спасибо за примеры, стало понятней.. Но и у вас вижу проблемы в коде.. Во-первых вы вешаете дополнительный класс на кнопку при ее использовании, а не оборачиваете ее в контейнер. Таким образом придется помнить что есть обертка, а что доп. класс. Как то нехорошо. Во вторых title не может быть блоком думаю, это как раз элемент и он не может использоваться отдельно.
eldar_web: во первых, чтобы получить пользу от Бэм не обязательно использовать весь стек, обычно юзают только нейминг. Во вторых есть сборщики фронтенда, которые решают эту проблему