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

แชร์
ฝัง
  • เผยแพร่เมื่อ 28 พ.ย. 2024

ความคิดเห็น • 27

  • @user-ei9jd7pw4s
    @user-ei9jd7pw4s ปีที่แล้ว +4

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

  • @kiralatysheva6794
    @kiralatysheva6794 ปีที่แล้ว +2

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

  • @dimazollo
    @dimazollo ปีที่แล้ว +11

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

  • @gigor1433
    @gigor1433 ปีที่แล้ว +1

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

  • @Mak_Sim0
    @Mak_Sim0 8 หลายเดือนก่อน

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

  • @PhilippeRigovanov
    @PhilippeRigovanov ปีที่แล้ว

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

  • @andreykachur3827
    @andreykachur3827 ปีที่แล้ว

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

  • @youtubehhhh
    @youtubehhhh ปีที่แล้ว +1

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

    • @amangin
      @amangin ปีที่แล้ว

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

    • @youtubehhhh
      @youtubehhhh ปีที่แล้ว

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

  • @СтройКонсалт
    @СтройКонсалт ปีที่แล้ว +1

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

  • @TheLastSeason
    @TheLastSeason ปีที่แล้ว +2

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

  • @gyros9162
    @gyros9162 ปีที่แล้ว +2

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

    • @sergiypalamar
      @sergiypalamar ปีที่แล้ว +5

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

    • @yakut54
      @yakut54 7 หลายเดือนก่อน

      🤣🤣🤣

  • @Ramilkos
    @Ramilkos ปีที่แล้ว +1

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

    • @youtubehhhh
      @youtubehhhh ปีที่แล้ว +2

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

    • @Ramilkos
      @Ramilkos ปีที่แล้ว

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

  • @PhilippeRigovanov
    @PhilippeRigovanov ปีที่แล้ว

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

  • @en_kratia
    @en_kratia ปีที่แล้ว

    Спасибо

  • @araragi6407
    @araragi6407 ปีที่แล้ว

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

  • @au5442
    @au5442 11 หลายเดือนก่อน

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

  • @dsr19750222
    @dsr19750222 ปีที่แล้ว

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

  • @Black1991Star
    @Black1991Star ปีที่แล้ว

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

    • @youtubehhhh
      @youtubehhhh ปีที่แล้ว +6

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

    • @zakharkibanov8929
      @zakharkibanov8929 ปีที่แล้ว +1

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