
Nikita
16.12.2016
00:03:48
тобишь каскада вообще не должно быть?
допустим если я помещаю блок социалок в навигацию. Я не могу юзать в стилях такую схему
nav soc {float: right} допустим

Alex.applecider
16.12.2016
03:21:52
Всем привет!
Сейчас столкнулся с такой проблемой: как адекватно дать имена переменным для шрифтов (если это вообще правильно, делать переменными) если у меня в макете просто дофига шрифтов?
вот, что я обнаружил на макете
Нигде ничего общего, везде "шаг влево, шаг вправо"
Если делать в Сасс переменные, типа "чтобы в будущем если вдруг захотим где-то поизменять шрифты чтобы не рыться по всему файлу" - я ж даже не смогу столько разнообразных адекватных имён переменным дать :D

Google

Alex.applecider
16.12.2016
03:38:51
Вопрос закрыт )))

Gregory
16.12.2016
06:21:21

Константин
16.12.2016
06:43:37

Rafael
16.12.2016
06:44:40
Но после прозрения БЭМ ну очень красивым и простым кажется
Это я просто CSS BEM, там ещё для js есть, но его я даже не читал

Константин
16.12.2016
06:45:57
Я с БЭМ работаю пол года. Ранее много верстал без него. И когда знакомился с методологией, то сразу были видны проблемы которые он устраняет.
Я JS-бем то же как-то пропустил. Мне CSS-а предостаточно

Rafael
16.12.2016
06:47:51
И вот недавно понял
Прям красивое решение и простое
Теперь вот mvc изучаю, что это за патернчик такой

Google

Константин
16.12.2016
06:50:29
))
Я в начале изучения больше смотрел на обычные блоки типа <select> и <table>.
И там и там есть специфичные теги внутри. Мы же нигде не пишем <tr> вне контекста тега <table>.
Так же и с БЭМ, но на уровне названия классов. Элементы нашего кастомного блока (компонента) не должны жить вне него. И в этом вся суть, я считаю.

Rafael
16.12.2016
06:51:57

Константин
16.12.2016
06:52:50

Дмитрий Maestro
16.12.2016
06:53:16

Rafael
16.12.2016
06:53:30
Они совершенно не рассказывают о патерне

Дмитрий Maestro
16.12.2016
06:53:39
Чем?

Rafael
16.12.2016
06:53:46
Просто дают определение и все

Дмитрий Maestro
16.12.2016
06:53:54
Так а что о нем рассказывать?)

Константин
16.12.2016
06:55:08
Думаю, что человеку не хватает примеров практического применения

Дмитрий Maestro
16.12.2016
06:55:27
Есть единная точка входа index.php в которой реализован разбор роутов и передача управления тому или иному контроллеру . Индекс.Пхп если не ошибаюсь это шаблон проектирования фасад
Все строится на разборе урла

Константин
16.12.2016
06:56:59
Это ты сейчас в привязке к конкретной реализации говоришь.
Но паттерн на то и паттерн, что может быть применен где угодно!
Я к примеру в первые знакомился с ним на Delphi и C++.
Позже порадовало, что в Yii2 и Angular уже применен MVC.

Дмитрий Maestro
16.12.2016
06:57:23
Ну мы ж о вебе говорим?
В Пхп помоему любой фреймворк так построен

Rafael
16.12.2016
06:58:19
Так а что о нем рассказывать?)
Должны быть посылки для его появления. Почему появился такой паттерн? Что сделало его популярным? Чем он был лучше существующих тогда? Где примеры его использование вне веба?

Константин
16.12.2016
06:58:29
Да.
Но в том же ангуляре... Есть макет (view), сервис (модель), контроллер.

Дмитрий Maestro
16.12.2016
06:58:38

Google

Константин
16.12.2016
06:59:06
Т.е. из коробки его нет. Но никто не мешает сделать самому.

Дмитрий Maestro
16.12.2016
07:00:16

Константин
16.12.2016
07:00:19

Rafael
16.12.2016
07:00:34
Сейчас я могу сказать что такое mvc, но я все равно не понимаю его философию

Дмитрий Maestro
16.12.2016
07:01:06
Ну и без привязке к пыхе ты тоже найдешь эти патерны

Rafael
16.12.2016
07:01:10
Ну внедрили 3 слоя абстракций, ну и че?
Angualr - mvc

Константин
16.12.2016
07:01:37

Дмитрий Maestro
16.12.2016
07:02:03

Rafael
16.12.2016
07:02:22
Какие слабые стороны у mvc?

Дмитрий Maestro
16.12.2016
07:02:30
А так все на своих местах , надо вывод тулим во вьюху

Константин
16.12.2016
07:02:42

Rafael
16.12.2016
07:02:47

Дмитрий Maestro
16.12.2016
07:02:49
Надо в базу сделать запрос модель

Rafael
16.12.2016
07:02:54
Я прошу толковать за смысл

Дмитрий Maestro
16.12.2016
07:02:56
Логика это контроллер

Google

Максим
16.12.2016
07:03:11

Rafael
16.12.2016
07:03:25

Дмитрий Maestro
16.12.2016
07:03:29
Я тебе примеры привожу , ты сам сказал что везде абстрактно читал и не понятно

Rafael
16.12.2016
07:03:33
Там что-то похожее, но не mvc

Максим
16.12.2016
07:03:40

Rafael
16.12.2016
07:03:48
На хабре где-то лютый срач в коментах по этому поводу был
React js

Максим
16.12.2016
07:03:52
Mvvp?

Константин
16.12.2016
07:04:11

Admin
ERROR: S client not available

Максим
16.12.2016
07:04:44

Дмитрий Maestro
16.12.2016
07:05:05
Есть hmvc hmvcl

Максим
16.12.2016
07:06:29

Дмитрий Maestro
16.12.2016
07:06:34

Константин
16.12.2016
07:07:23

Дмитрий Maestro
16.12.2016
07:07:32
Про второе не слышал
Я мог абривеатуру спутать , суть в том что у тебя все по модулям плюс языковые конфиги l language

Vitaliy
16.12.2016
07:07:43
Я бы посоветовал почитать про SOLID, CQS, YAGNI, Law of Demeter, GRASP, DRY, KISS и Single level of abstraction principle. Все эти Паттерны проектирования, включая MVC - способы достичь в коде перечисленных выше штук

Дмитрий Maestro
16.12.2016
07:08:37

Google

Константин
16.12.2016
07:09:01
Самое важное, что бизнеслогика меняется ооочень редко.
А представление меняется очень часто. Подвинули кнопочку, изменили выпадающий список на радиокнопки, еще, что-то.
В итоге если представление перемешано с логикой, то очень легко, что-то поломать.
Есть еще KISS (keep it simpe stupid) ?

Vitaliy
16.12.2016
07:30:00
я бы такие классы завел:
Сама кнопка:
.social-button
Ее иконка:
.social-button__icon
.social-button__icon_vk
.social-button__icon_github
.social-button__icon_instagram
Расположение кнопок в ряд:
.social-buttons .social-button
Круглые кнопки - либо модификатором отдельной кнопки, либо модификатором ряда кнопок:
.social-button_round
.social-buttons_round .social-button
опытные в БЭМ - покритикуйте

Rafael
16.12.2016
07:32:29
И нет, неверно сделано, у тебя сама кнопка - должна быть блоком

Vitaliy
16.12.2016
07:33:17
она и есть блок

Rafael
16.12.2016
07:33:59
А где ты тогда определяешь блок соц кнопок?
А все, нашел
Стой, а ты применяешь модификатор к элементу, а не к блоку?

Vitaliy
16.12.2016
07:37:55
к блоку. либо к блоку одиночной кнопки, либо к блоку ряда кнопок

Константин
16.12.2016
07:39:06

Vitaliy
16.12.2016
07:40:13
для текущего макета из двух вариантов модификаций, я бы воспользовался модификацией ряда кнопок:
.social-buttons_round .social-button
Модификатор одиночной кнопки пригодился бы, если б мне надо было вставить куда-нибудь одиночную круглую кнопку.

Константин
16.12.2016
07:44:14
Ну т.е. дело в конкретном случае. На секундочку показалось, что этот плохой тон.

Rafael
16.12.2016
07:49:10
А элемент блока - отвечает, допустим, за положение элементов в блоке (отступы например)

Константин
16.12.2016
07:52:05
Модификатор
Cущность, определяющая внешний вид, состояние или поведение блока либо элемента.
https://ru.bem.info/methodology/quick-start/#%D0%9C%D0%BE%D0%B4%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%82%D0%BE%D1%80

Vitaliy
16.12.2016
07:52:55

Константин
16.12.2016
07:52:56
Ну и вот из основной доки по методологии:
https://ru.bem.info/methodology/naming-convention/#%D0%9C%D0%BE%D0%B4%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%82%D0%BE%D1%80-%D1%8D%D0%BB%D0%B5%D0%BC%D0%B5%D0%BD%D1%82%D0%B0
Я потому и задал вопрос: "Что плохого в модификаторе элемента?".
Судя по доке, все ок. И сам пользуюсь.

Rafael
16.12.2016
07:54:45
Что за хрен, всегда же было, что модификатор для блока,а не для элемента, ппц