1. JavaScript / Говнокод #24414

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    updateStateByHotkey(items, keyCode, isModifierPressed) {
        const getNewState = stateGetter => items.every(item => stateGetter(item) !== isModifierPressed) === isModifierPressed;
        // Под switch'ем для каждой горячей клавиши
            this.setItemsX(items, getNewState(item => item.x));
    }

    ES6.
    Нежелание подумать над менее запутанной реализацией заставило подумать над реализацией вот этого вот. Под Modifier'ом имеется в виду Ctrl или Command.
    СПОЙЛЕР:
    Горячие клавиши, переключающие состояние, идут парами - без Ctrl и с ним.
    Если все элементы находятся в одном и том же состоянии, оба варианта делают одно и то же - переключают это состояние.
    Если элементы в разных состояниях, то без Ctrl оно включает состояние во всех элементах, а с Ctrl - выключает.
    Значения состояния и isModifierPressed, отличные от true или false, вроде бы, исключены.

    Запостил: Kozel, 26 Июня 2018

    Комментарии (5) RSS

    • Если мы с тобой начнём заниматься анальным сексом - будет ли это гоатсе?
      Спасибо.
      Ответить
    • Отыж лямбдушня какая...

      Когда пишешь, радуешься универсальности getNewState. А потом оказывается, что её никто переиспользовать не будет, и заинлайненная версия проще и читается лучше.
      Ответить
      • Порой смотришь на подростка, любуешься его нежной смазливостью и думаешь, что уже его очка нет... Потом же, когда после недолгой попойки он, сняв с себя всю одежду, развратно ложится на твою кровать и задирает ноги, оказывается, что очка нет вообще: там лишь тоскливая и страшная чёрная дыра, готовая принять межгалактический шаттл.
        Ответить

    Добавить комментарий