Как стать автором
Обновить

Комментарии 23

Какая серъёзная проблема, выставить значение из опций сессии в каком-то месте GUI. Запоминаем — дизайнерам фронтенда не доверять ничего кроме фронтенда.

Я перечитал ваше сообщение раз 10, но так и не понял его смысл. Не могли бы вы сформулировать его попроще, для низжих умов?

если у вас архитектура где такая серъёзная проблема строку вывести в том месте где надо значит эта архитектура немного быд.. не соответствует принципам чистого кода

Чудесно, а теперь попробуйте прочитать статью не по диагонали.

Когда вы пытаетесь решить одним и тем же способом все задачи сразу — ни одна не оказывается решена полностью.


Вот пример. Допустим, мне поставили задачу: сделать имя организации под именем пользователя, которое должно выводиться точно там же стилем.


Проблема в том, что CSS я знаю на уровне "могу чуть-чуть подправить", и составить новый стиль для нового элемента я не могу. Значит, я вынужден переиспользовать .morda_sidebar_username для имени организации. Но теперь проблемы возникают уже у тестировщика — ведь "уникальный" класс более не уникален.

В статье описано не решение множества задач. А единая причина множества проблем. Устранение этой причины, избавляет и от кучи проблем в разных областях.


В вашем примере, если классы пишутся вручную, то ничего не мешают челевеку с выключенной головой наговнокодить. Если же они, как в $mol, генерируются автоматически, то потенциальный говнокодер просто не сможет создать два одноимённых элемента.


И опять же, не путайте генерацию классов и генерацию идентификаторов. Это разные вещи, формирующиеся по разным правилам. Просто исходники у них одинаковые — задаваемые прикладным программистом локальные имена элементов.

просто не сможет создать два одноимённых элемента

И тем самым уничтожается переиспользуемость стилей.

Нет, для переиспользования достаточно создать отдельный компонент и повесить стили на него.

Вот только блок "имя пользователя в боковой панели" не обладает никакими признаками компонента кроме необходимости своей стилизации.

Если вам нужно две разные сущности стилизовать всегда одинаково, то это явный признак общего компонента "имя сущности в боковой панели".

Начиналось всё просто — дать id DOM-элементу. А потом разверзлась бездна отчаяния...


Во многой мудрости много печали; и кто умножает познания, умножает скорбь. ©

И вот зачем вот эта куча кадров из ИП?

Это очень тонкая метафора.

Тут разве пару картинок можно связать с предыдущим абзацем, остальные — не пришей пальто сапог. Просто пол экрана "тонких" метафор. То ли проблема какая-то очень надуманная, то ли попытка сыграть на эффекте узнавания.
Не надо так, пожалуйста.

у меня напрашивается только толстая метафора

Ну ок, давайте расшифровывать. Какие именно картинки вы не поняли?

Все.

Попробуйте поискать пасхалки.

Я понял это так — есть разработчики, которые бегают с мечами, щитами, копьями или даже летают на драконах. Короче им тяжко, занимаются кастылизацией. А есть секретная секта тех, кто юзает «фреймворк который нельзя называть», которые как безликие, все видят, все слышат и могут даже убить Короля Ночи. Короче крутые пацанчики, хоть их никто и не знает, но у них нет таких проблем.
Как напоминание, что даже из самого лучшего проекта, с заботливо выработанными классами, соглашениями и балансом добродетелей, можно сделать унылый Гомотрон всего за три сезона спринта, если дать волю джунам когда главный архитектор куда-нибудь пропадет.
НЛО прилетело и опубликовало эту надпись здесь

Я правильно понял что мы все равно получили первую проблему? только ломаться будет не селектор потомков/детей, а сам id, если мы будем менять блоки местами

Нет, я же акцентировал в статье, что от перестановки элементов внутри компонента идентификаторы не меняются.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории