powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / делегаты и общая философия
47 сообщений из 47, показаны все 2 страниц
делегаты и общая философия
    #39351193
Rosiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет. Давно мучал вопрос: как люди объясняют, что описание всех событий на странице должно быть исключительно через делегаты и это круто, а писать прямо в тегах что-то типа onclick="some kind of function" это плохо и вообще bad style. Напоровшись на очередной проект, где описание логики страницы в несколько тысяч строк представляло из себя километры делегатов по довольно мутным селекторам я осознал, что вкурить эту хрень без пол литра довольно проблематично. В то время как разбирая разметку в поисках концов гораздо проще понять что происходит, если хотя бы в банальных ситуациях обработка onclick присутствует именно в тэге, а не закопано в сотнях строк кода, причем с селектором вида "table p button". Я уж не говорю что разметка может поменяться и чертов селектор отвалится, тогда как onlclick в кнопке будет жить да поживать. Я не против делегатов в целом (это была бы редкая ересь), мне непонятно зачем подчищать все события с разметки под ноль, делая код/разметку довольно хреново понимаемой. В чем соль этой "красоты"?
...
Рейтинг: 0 / 0
делегаты и общая философия
    #39351208
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Rosiv,
полностью поддерживаю. сам пришёл к такому же мнению. куда проще нажать ctrl и кликнуть мышкой и ide сама метнётся к функции.
но к сожалению не всегда это возможно, иногда динамически назначаются обработчики.
...
Рейтинг: 0 / 0
делегаты и общая философия
    #39351253
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RosivЯ не против делегатов в целом
Всё верно.
Крайности в обе стороны плохо.
Все события под ноль и наоборт, все события в тегах - это крайность.
Т.е. вопрос не имеет смысла.
...
Рейтинг: 0 / 0
делегаты и общая философия
    #39351295
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Откуда вообще километры делегатов?

ИМХО проблема не в том как навесить события, а в том, что компонентный подход отсутсвует.
...
Рейтинг: 0 / 0
делегаты и общая философия
    #39351308
Rosiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ок, приятно сознавать, что не я один задумывался над этой проблемой. Ибо да, ctrl+click и переходишь к функции и все понятно. А через делегаты (которые описаны где-то в блоке init строк эдак в 500) это все смотреть довольно проблематично.

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

В целом я делегаты использую в 2х случаях:
1) контент генерится как-то автоматически. В целом я стараюсь от этой штуки уходить и чтобы html из скриптов не получался в принципе. Собственно для того репитеры и прочее барахло и придумали
2) элементов много. Они как-то вложены и вызываются однотипно.

Но как правило кнопок это не касается. И потому кнопки стараюсь почти всегда через onclick делать, чтобы потом при необходимости сразу найти что тут собственно происходит. Когда на руках несколько проектов, с суммарным количеством от 10к строк, помнить всю эту ересь с делегатами с вложенными селеторами просто нереально. Ну а по пол часа вкуривать что откуда идет - тоже как-то грустно.

Чтобы 2 раза не вставать, кто мне тогда сможет опять таки объяснить преимущества создания класса, перед простым объектом, при условии что мы не собираемся этот класс как либо переопределять или наследовать в принципе? Т.е. на кой черт люди пишут простыни с прототипом, чтобы в конце вызвать var a = new b(); вместо var b = {/* object methods etc*/}; b.init(). Есть в этом какой-то сакральный смысл, которого я не понимаю?
...
Рейтинг: 0 / 0
делегаты и общая философия
    #39351358
mage.lan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Rosiv,

Все очень просто.

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

Если все правильно разложено не бывает проблем, чтобы найти нужный кусок кода, это происходит даже быстрее, чем искать онклик, потом в каком-то проект-утилс-файле метод, который на этот онклик сработает.

Вторая встречающаяся проблема, если вам надо выводить в шапку значение ячейки таблицы, скажем 100 на 100 над которым находится мышь, а по клику запомнить его, навскидку, сколько будет весить такая табличка без делегатов?
...
Рейтинг: 0 / 0
делегаты и общая философия
    #39351376
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Rosivок, приятно сознавать, что не я один задумывался над этой проблемой. Ибо да, ctrl+click и переходишь к функции и все понятно. А через делегаты (которые описаны где-то в блоке init строк эдак в 500) это все смотреть довольно проблематично.

По поводу "почему так много строк" - страница шибко сложная. Там ajax риквестов штук 30, плюс куча промежуточной логики. Вот и получаем на ровном месте кучу строк. Но к сожалению разделять объекты отвечающие за вызовы и отлов промизов, логику приложения и просто вызов функций у многих "писателей" не модно. Создаем класс и пихаем туда через запятую все подряд, не стесняясь функций в 5-6 экранов.Для меня это выглядит как проблема в конкретном говнокоде том, что конкретный проект написан плохо. Следовательно с ним и надо рабираться. Рефакторить.

RosivЧтобы 2 раза не вставать, кто мне тогда сможет опять таки объяснить преимущества создания класса, перед простым объектом, при условии что мы не собираемся этот класс как либо переопределять или наследовать в принципе? Т.е. на кой черт люди пишут простыни с прототипом, чтобы в конце вызвать var a = new b(); вместо var b = {/* object methods etc*/}; b.init(). Есть в этом какой-то сакральный смысл, которого я не понимаю?Хм, ну вот написал я Button и не собираюсь его менять и наследовать, а только использовать следующим образом:
Код: javascript
1.
2.
var buttonEdit = new Button("Edit");
var buttonSave = new Button("Save");
...
Рейтинг: 0 / 0
делегаты и общая философия
    #39351407
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Rosiv,

По видимому ты никогда не работал с AngularJS, Backbone, ReactJS, Knockout, EmberJS, Sencha? Если даже ничего из перечисленного по неким религиозным соображениям не нравится, пилится что-то подобное, но своё, с объектной моделью, разделением на конкретные структурные слои, шаблонизатор.

Кто сегодня пишет приложения на onclick-ах, или ручным приводом с назначением делегатов по селекторам? Это же практически прибивание себя за яйца к разводному мосту. Ну может совсем небольшие сайтики, где надо отправить пару формочек и не требуют этого, и там достаточно повесить событие на onclick, но разрабатывать большие проекты таким образом...

Да лучше сразу пристрелиться. Видел я один раз подобный проект, мне до сих пор хочется его развидеть. Естественно судьба проекта не выдержала испытание временем, ну что можно решить Ctrl-Click-ом? Если разработка представляется бесконечной и безумной отладкой для пациента, то это очень далеко от мира естественной понятной разработки современных приложений.

Тут проблема видима в разработке через дебаг. Сегодня, мы открываем объектную модель и смотрим что должно происходить, например, при сохранении объекта. Не важно, каким образом это случилось, пользователь нажал кнопку, нажал Ctrl-Enter или даже Ctrl-Save, может он закрыл модальное окно, и сработал автосейв, мы работаем с бизнес-событием, а не с обработчиком кнопки. И никто не лезет в кнопку по Ctrl-Click.
...
Рейтинг: 0 / 0
делегаты и общая философия
    #39351411
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RosivТ.е. на кой черт люди пишут простыни с прототипом, чтобы в конце вызвать var a = new b(); вместо var b = {/* object methods etc*/}; b.init(). Есть в этом какой-то сакральный смысл, которого я не понимаю?

DRY, и другие принципы разработки. Тут надо курить тему по разработке вообще, а не ударяться в конкретную конструкцию на JS, и понимание со временем придёт. Ну и опыт.
...
Рейтинг: 0 / 0
делегаты и общая философия
    #39351733
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttRosiv,
По видимому ты никогда не работал с AngularJS, Backbone, ReactJS, Knockout, EmberJS, Sencha? Если даже ничего из перечисленного по неким религиозным соображениям не нравится, пилится что-то подобное, но своё, с объектной моделью, разделением на конкретные структурные слои, шаблонизатор.


Все это подходит для SPA, а если у ТС многостраничное приложение с чисто серверной отрисовкой?
...
Рейтинг: 0 / 0
делегаты и общая философия
    #39351744
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПарамонВсе это подходит для SPA
может наоборот? Для SPA не подходит? Т.к. там больше динамики).
...
Рейтинг: 0 / 0
делегаты и общая философия
    #39351832
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПарамонВсе это подходит для SPA, а если у ТС многостраничное приложение с чисто серверной отрисовкой?

Тогда вопрос, а зачем вообще ТС-у яваскрипт?

Наверное затем, чтобы добавить на свои страницы немного динамики. Если так, то не обязательно брать в разработку монстров типа AngularJS, с полным фаршем, включая марошрутизацию. Однако это не означает, что надо отказаться от компонентной модели разрботки.

У ТС-а раздрай в голове, между способами привязки обработки события на селектор или через onclick. Он не знает, что биндить обработку событий можно как-то иначе, наверняка у него в коде лапша на лапше, которую он и сам до конца уже не понимает, а любой адекватный программист просто с горя напьётся, как только посидит часок над таким проектом.
...
Рейтинг: 0 / 0
делегаты и общая философия
    #39351917
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttНаверное затем, чтобы добавить на свои страницы немного динамики. Если так, то не обязательно брать в разработку монстров типа AngularJS, с полным фаршем, включая марошрутизацию. Однако это не означает, что надо отказаться от компонентной модели разрботки.

Для того, чтобы добавить немного динамики нет смысла в AngularJS, даже урезанном.
Думаю автор использует jquery для игр с дом, что в принципе нормально, при модульном подходе.
jquery склоняет к привязке на селекторы.
...
Рейтинг: 0 / 0
делегаты и общая философия
    #39352029
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПарамонДля того, чтобы добавить немного динамики нет смысла в AngularJS, даже урезанном.
Думаю автор использует jquery для игр с дом, что в принципе нормально, при модульном подходе.
jquery склоняет к привязке на селекторы.

Ну исходя из того, что ТС писал, речь идёт о сотнях и тысячах обработчиках, по которым ему удобно ходить по ctrl-click.

Насчёт селекторов, у них есть сакральное преимущество. Можно повесить всего один обработчик и он будет ловить хоть тысячу событий. А если поставить себе за правило НИКОГДА НЕ ПРИВЯЗЫВАТЬСЯ К СТИЛЕВЫМ СЕЛЕКТОРАМ, то и проблема уменьшится до масштабов мухи.
...
Рейтинг: 0 / 0
делегаты и общая философия
    #39352759
mage.lan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttНИКОГДА НЕ ПРИВЯЗЫВАТЬСЯ К СТИЛЕВЫМ СЕЛЕКТОРАМ
Тоже очень спорное утверждение.

Я, например стараюсь в повторяющихся элементах использовать не более одного селектора или не использовать их совсем.
Когда начинаешь оперировать с 10к элементами дома на странице - разница ощутима.
...
Рейтинг: 0 / 0
делегаты и общая философия
    #39352770
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mage.lanhVosttНИКОГДА НЕ ПРИВЯЗЫВАТЬСЯ К СТИЛЕВЫМ СЕЛЕКТОРАМ
Тоже очень спорное утверждение.

Я, например стараюсь в повторяющихся элементах использовать не более одного селектора или не использовать их совсем.
Когда начинаешь оперировать с 10к элементами дома на странице - разница ощутима.а если нужно ВНЕЗАПНО изменить внешний вид/структуру, то вылезают грабли в виде отвалившихся от селектора кнопок.
...
Рейтинг: 0 / 0
делегаты и общая философия
    #39352933
mage.lan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariy,

Наш спор - это путь в никуда.
Если внезапно надо менять структуру - оторвите руки верстальщику, если дизайн был адаптивным, достаточно поменять less или что там у вас в качестве css.
...
Рейтинг: 0 / 0
делегаты и общая философия
    #39352936
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я так понимаю, селекторы входят в ГУИ и VIEW.
Т.е. это фронт и работа фронт-программистов (прогерФронт+верстальщик).
...
Рейтинг: 0 / 0
делегаты и общая философия
    #39353377
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mage.lanAntonariy,

Наш спор - это путь в никуда.
Если внезапно надо менять структуру - оторвите руки верстальщику, если дизайн был адаптивным, достаточно поменять less или что там у вас в качестве css.
Существуют и другие причины, когда надо изменить структуру. К примеру в результате эксперимента.
...
Рейтинг: 0 / 0
делегаты и общая философия
    #39353681
mage.lan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAСуществуют и другие причины, когда надо изменить структуру. К примеру в результате эксперимента.
На живом проекте? Первый раз слышу.
В любом случае после "экспериментов" делают регресс тестирование, т.к. отваливаются не только события на кнопочках
...
Рейтинг: 0 / 0
делегаты и общая философия
    #39353715
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mage.lanskyANAСуществуют и другие причины, когда надо изменить структуру. К примеру в результате эксперимента.
На живом проекте? Первый раз слышу.
В любом случае после "экспериментов" делают регресс тестирование, т.к. отваливаются не только события на кнопочках
Ну у кого-то ничего не отваливается :) Да и регресс тестирование чего?
...
Рейтинг: 0 / 0
делегаты и общая философия
    #39354484
Rosiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttRosiv,

По видимому ты никогда не работал с AngularJS, Backbone, ReactJS, Knockout, EmberJS, Sencha? Если даже ничего из перечисленного по неким религиозным соображениям не нравится, пилится что-то подобное, но своё, с объектной моделью, разделением на конкретные структурные слои, шаблонизатор.

Работал, причем со всем списком. Но это не мешает людям писать всякую ересь на проектах, на которые я прихожу. Sencha вообще отдельная тема, которая с моей точки зрения довольно сомнительна с точки зрения скорости разработки, особенно при введении новых людей в проект.
...
Рейтинг: 0 / 0
делегаты и общая философия
    #39354563
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RosivSencha вообще отдельная тема, которая с моей точки зрения довольно сомнительна с точки зрения скорости разработки, особенно при введении новых людей в проект.
ну, дак это целая платформа.
Понятно, что её нужно знать чтобы быстро писать.
Альтернатив то нету. Без платформы, с нуля быстро писать никак не получится(.
...
Рейтинг: 0 / 0
делегаты и общая философия
    #39355494
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mage.lanТоже очень спорное утверждение.

Я, например стараюсь в повторяющихся элементах использовать не более одного селектора или не использовать их совсем.
Когда начинаешь оперировать с 10к элементами дома на странице - разница ощутима.

Ничего спорного нет. Стилевые селекторы нужны, чтобы навешивать стиль. Если нужна функциональность, либо заведи отдельный класс селекторов с префиксом js- (например, js-open-modal, js-collapse...), либо вообще отдельные атрибуты. Мухи отдельно, котлеты отдельно. И сразу видно, что на элемент что-то навешано, просто тупо по названиям классов или по атрибутам. Не надо думать и гадать, ванговать и стучать по хрустальному шару.
...
Рейтинг: 0 / 0
делегаты и общая философия
    #39355496
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RosivSencha вообще отдельная тема, которая с моей точки зрения довольно сомнительна с точки зрения скорости разработки, особенно при введении новых людей в проект.

С точки зрения скорости разработки, на Sencha можно замутить приложуху за месяц усилиями трёх-четырёх программистов, с функциональностью, которую с нуля за то же время не запилят и десять профессионалов. И можно в любое время вводить в команду специалистов на Sencha. Это конечно не значит, что Sencha не имеет проблем, но для определённых классов задач, это один из наилучших выборов.
...
Рейтинг: 0 / 0
делегаты и общая философия
    #39356090
mage.lan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttНичего спорного нет. Стилевые селекторы нужны, чтобы навешивать стиль. Если нужна функциональность, либо заведи отдельный класс селекторов с префиксом js- (например, js-open-modal, js-collapse...), либо вообще отдельные атрибуты. Мухи отдельно, котлеты отдельно. И сразу видно, что на элемент что-то навешано, просто тупо по названиям классов или по атрибутам. Не надо думать и гадать, ванговать и стучать по хрустальному шару.
Ванговать и продираться сквозь такой код js-my-super-puper-mega-needed-selector тоже одно удовольствие. Если это класс вложенный в десятки дивов, то делегировать его лучше зная стркутуру ДОМ, иначе все начинает сильно тупить. Если селектим структуру - то "внезапное" изменение шаблона приведет к тому, что все отвалится. Обычная проблема - правильно и адекватно именовать классы, а лучше вообще не именовать, тормозит.
Вероятно где-то еще можно убедить заказчика, что не более 100 записей на страницу с последующей подкачкой, у меня такое не проходит.

hVosttС точки зрения скорости разработки, на Sencha можно замутить приложуху за месяц усилиями трёх-четырёх программистов, с функциональностью, которую с нуля за то же время не запилят и десять профессионалов. И можно в любое время вводить в команду специалистов на Sencha. Это конечно не значит, что Sencha не имеет проблем, но для определённых классов задач, это один из наилучших выборов.
10 профи на ванила-джиэс? я больше чем уверен, что один профессионал, с "налетом" не менее 5000 часов, запилит за месяц то, что 3-4 программиста будут пилить тот же месяц на ExtJS, плюс они будут потом вылавливать косяки. А как потом найти этих разработчиков?

Проект написанный мной на EmberJS в компании, гле было порядка 10 технологов никто не смог поддерживать, до сих пор думают переписать, возможно и переписали, как раз за месяц был написан, я попутно Ember изучал. Ну и кроме EmberJS в проекте ничего не было, я не извращался...
...
Рейтинг: 0 / 0
делегаты и общая философия
    #39356433
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mage.lanЕсли это класс вложенный в десятки дивов

Если так отвратительно и мерзко свёрстана страница, то надо просто отпилить руки верстальщику, выкинуть его на свалку, и взять в команду нормального, с головой и прямыми руками. А то с таким подходом, как ты пишешь, можно и вилкой себе глаз проткнуть -- и ничего тебе уже не поможет в этой жизни.


mage.lanОбычная проблема - правильно и адекватно именовать классы, а лучше вообще не именовать, тормозит.

Я не знаю, в какой книжке сказок-страшилок ты это вычитал, но нет.


mage.lanВанговать и продираться сквозь такой код js-my-super-puper-mega-needed-selector тоже одно удовольствие.

Это из разряда косорукому и вилка -- смертельное самоубийственное оружие. Необходимо оценивать задачу, её сложность и выбирать наиболее эффективные инструменты и способы её реализации.

Но как бы там ни было. Использование стилевых селекторов для навешивания событий и поведения -- однозначно плохо на 100% абсолютно всегда, без вариантов. Настолько плохо, что ребятам, которые так делают, выдаётся немедленная путёвка на рынок труда без возможности возврата.
...
Рейтинг: 0 / 0
делегаты и общая философия
    #39356634
mage.lan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttЕсли так отвратительно и мерзко свёрстана страница...
Ясно. Жаль что наша беседа перешла на эмоцию.

у SPA вложенность легко достигает 10 уровня.
Общий аутлет, в нем аутлеты для меню и контента (2 уровень) скрол-див таблицы в котором 3 уровня дивов сама таблица (6).
Это только структура, я стараюсь на оформление не тратить больше одного контейнера, но иногда это не реально, я вам показал 7 уровней вложенности, которые никак не зависят от верстака.

С другой стороны, на моих проектах я разложу табличку в плитку и поменяю весь дизайн без изменения структуры.

hVosttНеобходимо оценивать задачу, её сложность и выбирать наиболее эффективные инструменты и способы её реализации.

[Скачусь на эмоцию]О чудо! Думающий технолог-архитектор, если честно я давно таких уже не видел, но это наверное моя проблема.

hVosttНо как бы там ни было. Использование стилевых селекторов для навешивания событий и поведения -- однозначно плохо на 100% абсолютно всегда, без вариантов. Настолько плохо, что ребятам, которые так делают, выдаётся немедленная путёвка на рынок труда без возможности возврата.
Опять как-то скомкано. Я вас за больное зацепил? Извините меня грешного. [Серьезно]

Все эти селекторы растут от яндексовского БЭМ-а, модно, но не все понимают, когда и зачем они нужны.
Нет серебрянной пули, но на высоконагруженых проектах (ака толстый клиент), когда браузер показывает и помнит тонны данных, приходится бороться за любые потери и мелочи, которые могут протормозить браузер.

ЗЫ: я понял и запомнил, что вы неравнодушны к вилкам, давайте оставим их для обеденного перерыва.
...
Рейтинг: 0 / 0
делегаты и общая философия
    #39356659
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mage.lanЯсно. Жаль что наша беседа перешла на эмоцию.

Ого, принцесса на горошине в жизни! Я понимаю, что критерии "перехода на эмоции" у всех могут быть разные, но тогда предупреждай заранее, что ты излишне чувствительный и ранимый, чтобы отвечать тебе в исключительно pH-нейтральном и стерильном стиле. А то не дай бог чего случится


mage.lanу SPA вложенность легко достигает 10 уровня.
Общий аутлет, в нем аутлеты для меню и контента (2 уровень) скрол-див таблицы в котором 3 уровня дивов сама таблица (6).
Это только структура, я стараюсь на оформление не тратить больше одного контейнера, но иногда это не реально, я вам показал 7 уровней вложенности, которые никак не зависят от верстака.

В SPA и подобных приложениях вёрстка генерируется из кусочков, вложенных друг в друга лейаутов и компонентов, и никто в здравом уме не лазит по получившейся вёрстке руками. И стараются сделать стили максимально изолированными (ну и потуги БЭМ берём в расчёт тоже).

А когда ты говоришь про какие-то уровни вложенности, где собираешься ковыряться руками, я ещё раз повторю про верстальщика.

mage.lan[Скачусь на эмоцию]О чудо! Думающий технолог-архитектор, если честно я давно таких уже не видел, но это наверное моя проблема.

Я не знаю откуда у тебя такой болезненный пунктик про эмоции. Ты наверное слишком эмоционально реагируешь на эмоции

mage.lanОпять как-то скомкано. Я вас за больное зацепил? Извините меня грешного. [Серьезно]

Почему моя категоричность воспринимается, как что-то эмоциональное? Я эти же слова и ночью повторю с просони, ну может добавлю в конце ещё пару крепких слов.


mage.lanВсе эти селекторы растут от яндексовского БЭМ-а, модно, но не все понимают, когда и зачем они нужны.

А кто понимает? И как понять, что кто-то понимает, а кто-то нет? Надо изучать насколько умное лицо у говорящего?


mage.lanНет серебрянной пули, но на высоконагруженых проектах (ака толстый клиент), когда браузер показывает и помнит тонны данных, приходится бороться за любые потери и мелочи, которые могут протормозить браузер.

Ещё раз говорю, селекторы и их количество -- последнее, что виновато в тормозах. Если борешься, выбирай себе противника более существенного, чем ветряные мельницы.


mage.lanЗЫ: я понял и запомнил, что вы неравнодушны к вилкам, давайте оставим их для обеденного перерыва.

А чё, отличная аналогия. Я уважаю всякие аналогии. И не виноват, если кто-то их воспринимает буквально.
...
Рейтинг: 0 / 0
делегаты и общая философия
    #39356699
mage.lan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,

Опять какая-то странная реакция.

Когда я говорю про эмоции - это означает, что у оппонента закончились аргументы и он перешел на стиль разговора "сам дурак".
Я могу так общаться, меня это не коробит. Только смысл это делать на форуме? Мы ж не в курилке.

Все что я хотел сказать в данной теме, наверное, я сказал. Когда столкнетесь с моими проблемами по производительности, приходите обсудим.
...
Рейтинг: 0 / 0
делегаты и общая философия
    #39356701
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mage.lanно на высоконагруженых проектах (ака толстый клиент)
только у меня когнитивный диссонанс?
...
Рейтинг: 0 / 0
делегаты и общая философия
    #39356707
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mage.lanОпять какая-то странная реакция.

Я вообще спорного вопроса не вижу, насчёт которого у тебя кончились какие-то непонятные аргументы. Ты бред несёшь по поводу того, что количество селекторов сильно ударяет по производительности браузера. Это факт, чего его обсуждать? Причины того, что ты говоришь глупости? Мне это не интересно.


mage.lanВсе что я хотел сказать в данной теме, наверное, я сказал. Когда столкнетесь с моими проблемами по производительности, приходите обсудим.

Ты сказал бред. Надо очень сильно постараться, чтобы от количества селекторов пострадала твоя производительность. Но тогда уже проблема в другом. Сам себе злобный буратино.
...
Рейтинг: 0 / 0
делегаты и общая философия
    #39356713
mage.lan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропилmage.lanно на высоконагруженых проектах (ака толстый клиент)
только у меня когнитивный диссонанс?
Да только у вас, потому что в данном случае имелась в виду не система, а интерфейс.
...
Рейтинг: 0 / 0
делегаты и общая философия
    #39356717
mage.lan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttТы сказал бред. Надо очень сильно постараться, чтобы от количества селекторов пострадала твоя производительность. Но тогда уже проблема в другом. Сам себе злобный буратино.
Давайте прекратим. Я уже понял, что вы не сталкивались с проектами такой сложности. И вряд-ли читали исходники jQuery.
...
Рейтинг: 0 / 0
делегаты и общая философия
    #39356725
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропилmage.lanно на высоконагруженых проектах (ака толстый клиент)
только у меня когнитивный диссонанс?
нет)). Просто им пора уже переходить к коду и примерам с кодом.
Т.к. трёп (в хорошем смысле) стал неэффективным).
IMHO
...
Рейтинг: 0 / 0
делегаты и общая философия
    #39356772
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mage.lanДавайте прекратим. Я уже понял, что вы не сталкивались с проектами такой сложности. И вряд-ли читали исходники jQuery.

Ты хочешь, чтобы я прекратил говорить, что ты несёшь ахинею? Я могу подкрепить свои слова фактами.

На facebook.com почти 3 тыс. селекторов, чуть больше 2 тыс. правил. И миллионы пользователей, или сколько их там (миллиарды?) не испытывают неудобств.

На амазоне 5 тыщ. селекторов и 3.5 тыщ. правил. Ну и т.д.

Можешь рассказать конечно о своих проектах со сложностью просто межгалактических масштабов, посмеши народ.
...
Рейтинг: 0 / 0
делегаты и общая философия
    #39356823
mage.lan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttТы хочешь, чтобы я прекратил говорить, что ты несёшь ахинею? Я могу подкрепить свои слова фактами.

На facebook.com почти 3 тыс. селекторов, чуть больше 2 тыс. правил. И миллионы пользователей, или сколько их там (миллиарды?) не испытывают неудобств.

На амазоне 5 тыщ. селекторов и 3.5 тыщ. правил. Ну и т.д.

Можешь рассказать конечно о своих проектах со сложностью просто межгалактических масштабов, посмеши народ.

Очень плохие примеры. Пользователи тут при чем? Мы сервер-сайд обсуждаем?

Фейсбук - тупит
Амазон - меньше, но тупит

Для примера, у меня есть таблицы, где браузеру приходится справлятся ~20 тысячами селекторов, там работает только около 4к активных элементов, естественно на делегатах. Это криминал. Система устроена так, что она больше 5к селекторов на странице старается не держать, это обычное рабочее состояние... Всякого говна в data у меня тоже хватает.
Вы мне сейчас предлагаете вывести на 25% больше селекторов?

Расслабтесь, пилите свой академический код дальше.
...
Рейтинг: 0 / 0
делегаты и общая философия
    #39356899
mage.lan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttМожешь рассказать конечно о своих проектах со сложностью просто межгалактических масштабов, посмеши народ.
Тупо, для примера, чтобы было понятно о каких таблицах идет речь. Основное отличие от амазона, ибея, алиэкспреса в том, что если в категории 1000 товаров, то вся 1000 будет доступна сразу, без пагинации.


...
Рейтинг: 0 / 0
делегаты и общая философия
    #39356938
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mage.lanДля примера, у меня есть таблицы, где браузеру приходится справлятся ~20 тысячами селекторов, там работает только около 4к активных элементов, естественно на делегатах. Это криминал. Система устроена так, что она больше 5к селекторов на странице старается не держать, это обычное рабочее состояние... Всякого говна в data у меня тоже хватает.
Вы мне сейчас предлагаете вывести на 25% больше селекторов?

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

mage.lanТупо, для примера, чтобы было понятно о каких таблицах идет речь. Основное отличие от амазона, ибея, алиэкспреса в том, что если в категории 1000 товаров, то вся 1000 будет доступна сразу, без пагинации.

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

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

Дискутировать же на очевидную большинству людей тему, что сразу большое количество итемов не нужно никому по причине банальной неупотребимости, я пожалуй не буду. Насчёт эмоций, не принимай всё слишком близко к сердцу, никакого негативного отношения у меня к тебе нет, критикуется не твоя персона, а лишь твои конкретные слова.
...
Рейтинг: 0 / 0
делегаты и общая философия
    #39356941
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mage.lanФейсбук - тупит
Амазон - меньше, но тупит

Я не сомневаюсь, что этим позорным проектам далеко до магазина консервированных огурцов
...
Рейтинг: 0 / 0
делегаты и общая философия
    #39357051
mage.lan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttmage.lanФейсбук - тупит
Амазон - меньше, но тупит

Я не сомневаюсь, что этим позорным проектам далеко до магазина консервированных огурцов
Попытка юмора?

Амазон такой древний, что просто ппц, а фейсбук... у них просто реакт голоаного мозга.

Если что, "магазин консервированных огурцов", это не магазин, в твоем понимании.
И это не единственный подобный проект с подобными требованиями.
Другое дело, что современные смузи-технологи такое делать не умеют. Ведь это не более чем везение.
...
Рейтинг: 0 / 0
делегаты и общая философия
    #39357137
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mage.lanАмазон такой древний, что просто ппц, а фейсбук... у них просто реакт голоаного мозга
покажи без логирования, где и что там у них тормозит. Просто интересно о чём разговор).
...
Рейтинг: 0 / 0
делегаты и общая философия
    #39357224
mage.lan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123покажи без логирования, где и что там у них тормозит. Просто интересно о чём разговор).
Господи, открываем в хроме https://www.facebook.com/ делаем свайп по тачу, наслаждаемся, как у них прыгает все, делаем еще свайп, опять наслаждаемся. Можно туда-сида помотать, посмотреть как у них статьи исчезают.

Мне честно, лень сейчас fb профилировать, чтобы что-то доказывать. Для примера возьмите гугл-картинки, забейте "сиськи" в поиск и тоже посвайпите, разница видна, если снять розовые очки.
...
Рейтинг: 0 / 0
делегаты и общая философия
    #39357239
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mage.lan,
Ну если вам лень, то и и мне тоже.
Отсюда вывод что вам в ПТ.
Удачи!
...
Рейтинг: 0 / 0
делегаты и общая философия
    #39357375
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mage.lanЕсли что, "магазин консервированных огурцов", это не магазин, в твоем понимании.
И это не единственный подобный проект с подобными требованиями.
Другое дело, что современные смузи-технологи такое делать не умеют. Ведь это не более чем везение.

Требование, это конечный результат и его качество. Загружать сразу 1000 товаров, как и вести исключительно разработку в костюме Зелибобы, это не требование -- это патологическая не способность разработчика решить задачу удобный фильтрации, сортировки и моментальной подгрузке итемов при скролле (виртуальный скролл).

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

Не знаю чего тебе посоветовать, ты ведь так и останешься при своём невежественном мнении, я знаю. Но было бы неплохо, если бы ты хоть иногда выходил из своих иллюзий и продолжал учиться, а не останавливаться в своём развитии.
...
Рейтинг: 0 / 0
делегаты и общая философия
    #39357478
mage.lan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttНе знаю чего тебе посоветовать, ты ведь так и останешься при своём невежественном мнении, я знаю.

Он назвал тебя земляным червяком. (с)

Вы молоды и прекрасны. [серьезно]
Обычно оппоненту приписывают свои недостатки.
Я поржал, пойду шить себе костюм Зелибобы.
...
Рейтинг: 0 / 0
делегаты и общая философия
    #39357550
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mage.lanОбычно оппоненту приписывают свои недостатки.
Я поржал, пойду шить себе костюм Зелибобы.

Серьёзно?! Ну посмотрим:

mage.lanРасслабтесь, пилите свой академический код дальше.

Зачем же ты так низко оцениваешь свою работу?

В общем, ты сам уже запутался в том, что говоришь и что сказать хотел.
Ну и по существу ответа ждать не приходится.
...
Рейтинг: 0 / 0
47 сообщений из 47, показаны все 2 страниц
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / делегаты и общая философия
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]