004. CSS Modules - убрать нельзя оставить

Поділитися
Вставка
  • Опубліковано 26 вер 2024

КОМЕНТАРІ • 27

  • @user-ei9jd7pw4s
    @user-ei9jd7pw4s Рік тому +4

    Спасибо вам! Доклад хорошо структурирован, наполнен понятными примерами и поэтому получился очень интересным)

  • @dmitryvolovod4560
    @dmitryvolovod4560 Рік тому +10

    Пробовали писать тесты используя селекторы классов, по которым никак нельзя понять нужны ли они в тестах или нет (это вариант, который вы используете). Это очень часто приводило к тому, что при любом изменении кода компонента, который затрагивал его структуру элементов и/или названия классов, тест просто ломался. Проблема в этом подходе в том, что пока не будут запущены тесты, разработчик никак не может предугадать, внесет ли он какие-то существенные изменения в код, от которого зависят тесты. Поэтому мы решили явно добавлять тестовые классы/атрибуты. Если мне не изменяет память, тестировщики, которые также занимались написанием тестов, справлялись с задачей самостоятельно добавить тестовый класс/атрибут в нужное им место в коде => они никак не были ограничены.
    Если же вернуться к мысли о том, что тестировщик лучше всего тестирует тогда, когда не знает внутренней структуры кода и смотрит на всё как пользователь, то стоит тогда завязываться на роли и тексты, а не на классы или атрибуты.

  • @PhilippeRigovanov
    @PhilippeRigovanov Рік тому

    Спасибо, Алина! Доклад очень полезный!

  • @andreykachur3827
    @andreykachur3827 11 місяців тому

    Спасибо, очень хороший доклад!

  • @Mak_Sim0
    @Mak_Sim0 6 місяців тому

    Классный доклад. Я раньше не прикосался к css модулям, но за глаза не любил. И в начале доклада убедился что они мне не нравятся, но дальше понял что довольно интересная штука

  • @gigor1433
    @gigor1433 Рік тому

    Как направление для решения проблемы тестирования можно добавить разную генерацию классов, условно в dev убираем хеш, это должно решить часть проблем, по моему.
    Спасибо за интересный доклад, люблю, пока что не от чистого сердца, CSS-Modules и теперь знаю что нужно сделать чтобы полюбить его от чистого сердца.
    И хотел бы поделиться своим своим способом использования. Я использую bind встроенный в classnames, и тогда стили можно сократить с `styles.class` до `'class'`, так же удобно работать с пропсами прокидывая вместо {class: props} -> {props} или так же цеплять классы [red]. А стоит сие решение 2 строчками кода в файле и автоподстановкой (ищу решение как это можно исправить).
    Если вдруг решите, прошу поделиться)

  • @СтройКонсалт
    @СтройКонсалт Рік тому +1

    Хороша Маша))) Один минус - от сути доклада отвлекает)))

  • @TheLastSeason
    @TheLastSeason Рік тому +2

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

  • @youtubehhhh
    @youtubehhhh Рік тому +1

    Еще один из плюсов css модулей - в продакшене в качестве классов можно использовать вообще только укороченный хэш (например, 5 или 8 последних символов), что значительно сокращает размер бандла стилей.

    • @amangin
      @amangin Рік тому

      На самом деле нет, так как зиповый размер на большом проекте будет ~ таким же. А на супер больших просто БЭМ классы и зип выиграет хэши, так как хэши вносят слишком много энтропии.

    • @youtubehhhh
      @youtubehhhh Рік тому

      ​@@amangin С чего же это хэши вносят много энтропии? Они не будут меняться, где бы вы их не использовали повторно, при этом само название класса получается короче. А чем огромнее проект, тем больше вероятность наличия неповторяющихся классов, что уменьшает профит гзипа.

  • @kiralatysheva6794
    @kiralatysheva6794 Рік тому +2

    Очень доступно и интересно объяснено. Спасибо за доклад!

  • @Ramilkos
    @Ramilkos Рік тому +1

    что касается привязки по классам без хэшей, в случае коллизий всегда можно делать запрос не на весь документ, а внутри специфичного элемента, чтобы обойти эту коллизию
    Up: я про использование в тестах

    • @youtubehhhh
      @youtubehhhh Рік тому +2

      И на пустом месте раздуть и усложнить css

    • @Ramilkos
      @Ramilkos Рік тому

      @@youtubehhhh да, сорян, я имел в виду применительно к тестам. И только там, где лезут проблемы.

  • @PhilippeRigovanov
    @PhilippeRigovanov Рік тому

    Обязательно сделайте тёмную тему!

  • @gyros9162
    @gyros9162 Рік тому +2

    Как установить фреймворк БЭМ?

    • @sergiypalamar
      @sergiypalamar Рік тому +5

      С торрента скачать

    • @yakut54
      @yakut54 5 місяців тому

      🤣🤣🤣

  • @araragi6407
    @araragi6407 Рік тому

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

  • @dsr19750222
    @dsr19750222 Рік тому

    так вот кто интерфейсы на яндексе делает!😁

  • @au5442
    @au5442 9 місяців тому

    Как Яндекс учился использовать css модули, но так и не смог...

  • @Black1991Star
    @Black1991Star Рік тому

    Зачем такое усложнение простых вещей? Что выигрывает команда которая использует CSS Modules на проекте? * просто когда докладчик постоянно извеняеться, за то, что кажеться диким, то тут явно что-то не то...

    • @youtubehhhh
      @youtubehhhh Рік тому +6

      Какое усложнение? Вы доклад целиком прослушали? Это наоборот упрощение. И забыл спросить, что вы предлагаете вместо них?

    • @zakharkibanov8929
      @zakharkibanov8929 Рік тому +1

      Чёт так уже к ним привык,что даже не представляю,как без них-то? На последних работах только они и были)

  • @en_kratia
    @en_kratia Рік тому

    Спасибо