Pull to refresh
56
0
qnub @qnub

Наёмный разработчик

Send message
Тут Вы правы вообще во всём. www.w3.org/TR/html5/global-attributes.html#classes класс — это объявление принадлежности элемента к каким-то классам. И ещё «authors are encouraged to use values that describe the nature of the content, rather than values that describe the desired presentation of the content». И класс это всего лишь один из возможных селекторов. Всё так, и об ущербности я написал в начале статьи — БЭМ это 2 принципа, а вся остальная методология — это способ выжить в этих ограничениях. Всё так и есть…

Однако это не меняет положения вещей — работать с БЭМ в части стилизации отображения всё равно проще (и он не отменяет ни LESS ни ID ничего другого). С ним не надо решать задачи, с ним можно просто написать то, что нужно и получить это без хитрых хаков своего же CSS.
А так, что классы — классово, а идентификатору — идентификаторово. Не должен идентификатор использоваться для описания внешнего вида, и тег не должен. Внешний вид тега должен обрабатываться браузером в соответствии с его семантическим значением. А название класса должно использоваться как название класса — для поиска по этому названию в CSS файле описания его внешнего вида — не более того. А ни как не для вычисления особой смысловой значимости этого элемента. Никто не запрещает использовать идентификатор для целей быстрого нахождения элемента в JS, просто не надо на него цеплять нюансы отображения — для этого есть классы…
Там написано, что у каждого элемента есть назначение (смысл) и оно обрабатывается браузером/поисковиком и т.д. И id, class, или data-* также имеют свой смысл, а именно — это прикладные элементы для описания классов, идентификаторов и доп. данных для служебного пользования. Собственно даже отсюда вырастает то, что не надо использовать теги и идентификаторы для определения внешнего вида.
Простите, но мне кажется у вас двоих разное представдение о «читабельности» :)
«Существует мнение» и «поддерживается стандарт» это немного разные категории. Значение тегов и микроформатов описано и официально декларируется поисковиками как поддерживаемые стандарты (см. руководство по оптимизации любого поисковика). Некоторые атрибуты тегов тоже туда относятся, но не id, class, или data-* — т.к. они изначально выступают в роли служебных элементов. Можно подозревать что поисковик придаёт повышенное значение элементу с id «warning»? Даже если так кто заставляет не использовать этот id в коде страницы? Просто не нужно использовать этот id для назначения стилей…
Просто у Вас там пробелы в селекторах, я про это…
Это тоже не по БЭМ — вложенные классы… По БЭМ скорее так:

.nav{}
.nav__item {} 
.nav__item-link {}
Ну я это предлагаю делать не потому, что люблю яндекс или бегу за всем новым. Я предлагаю это на основе личного опыта. Мне нужно править готовую вёрстку или старую вёрстку. И править БЭМ или править классическую вёрстку это две большие разницы. Правка БЭМ обычно заключается в добавлении класса, а правка классики в перелопачивании половины CSS файла…

Это взгляд с моего берега. Возможно тем кто просто верстает статику и сдаёт заказчику (у которого кто-то типа меня потом с этим всем работает) и проще налепить по быстрому 10 вложенных тегов и получить деньги, но любви к таким исполнителям у меня не прибавляется (хотя понимаю, что это мало кого волнует).
Кстати Вы обратили внимание, что стили кнопок в том же bootstrap повешены не на тег input, а на класс .btn? Я даже сначала удивился и возмутился и понаписал своих «правильных» стилей (т.е. добавил через запятую input[type=«submit»] и т.д.). Но потом я понял, что это было ошибкой. В итоге и ребята из твиттера и ребята из яндекса делают одно и тоже — избавляются от селекторов не классов… Кто правее — поживём увидим. Ни кто же не навязывает (люди просто делятся опытом), если Вас мои примеры не убеждают — ну значит это Вам не подходит, но тоже не означает, что это автоматически не подходит всем.
Не очень понятно почему лучше писать .search_bar > .ещё_стиль чем .search-bar__элемент?
Не очень понял. Там вроде бы всё классически — просто добавляется псевдокласс к классу элемента, собственно, как Вы и написали. Может я чего-то не понимаю, но новых подводных камней я с этим не встречал…
Наверное это тоже можно причислить к минусам…
Вся прелесть заключается в том что одно другому не мешает. Это просто способ записать название стиля, который избавляет от головняков с его применением. Всего лишь… Никто не мешает (наоборот, даже рекомендуют) использовать компиляторы с поддержкой переменных, функций и т.д.
Собственно нам именно это больше всего и нравится — никаких заморочек. Одним взглядом можно определить что ещё надо «сделать», что «сделано», а что уже «на тестовом сервере» или уже «проверено», есть ли «баги». Каждый сразу видит свои задачи и может легко менять их статус просто перетащив в другую колонку. Из «проверено» задачи уже просто архивируются и не мозолят глаза, я даже ен знаю зачем может понадобится ещё и галочка «выполнено»…
Омск, Ростелеком, ютуб не открывается с середины дня (не знаю свзязано ли, но крайне удачное совпадение)…
Перетащить в список «выполнено»? Ну и трелло не требует флеш…
Ясно. Видимо, я не правильно понял изначальный замысел системы. Прошу прощения…
Простите за праздный вопрос, но позвольте поинтересоваться — а насколько «достаточно давно» (с возрастом в профиле ознакомился)?

Возможно я не проникся сутью и это прорывная идея которая первернёт мир, но мне она представляется довольно странной. Кроме того google выпустил же систему для визуального программирования, возможно она Вас удовлетворит…
Никто и не говорит о панацее. Я лично для себя их использую чтоб быть уверенным, что после рефакторинга всё будет работать. Мне не нужно будет что-то проверять, я просто запущу тесты и узнаю работает или нет. Я пишу тест один раз и потом всегда (весь жизненный цикл программы/модуля/класса) уверен в этом участке кода. В итоге это выливается в экономию того самого времени поиска неработающих частей, но да, это всё будет когда потом — сейчас вы действительно тратите время на очевидные и ненужные в данный момент вещи…

Information

Rating
Does not participate
Location
Тбилиси, Грузия, Грузия
Registered
Activity

Specialization

Backend Developer, Mobile Application Developer
Lead
From 6,000 $
Python
Django
English
PostgreSQL
Redis
Docker
SWIFT
Development management
Agile
Designing application architecture