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

    +184

    1. 1
    2. 2
    3. 3
    if (''.length>0){
     // O_O - или я чего-то не знаю или это писали индусы
    }

    Запостил: CheshirskyCode, 27 Декабря 2010

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

    • Покажите где это используется? О_О
      Ответить
    • генерируется на сервере?
      Ответить
    • // O_O - или я чего-то не знаю
      Определённо, Вы чего-то не знаете. Например, рассу кодописателей. :)
      Ответить
      • Расу, расу, блджад! С одним "С"!
        Ответить
        • Еда для тролля. :)
          Ответить
        • тонко. не сразу понял (или это СПГС у меня обостренный)
          >Расу, расу, блджад! С одним "С"!

          >Расу
          >С одним "С"!

          >Расу c одним "С"!
          Ответить
      • Что Вы собираетесь сделать с кодописателями?
        Ответить
    • Такое возможно только в жаваскрипт и её подобных языках!
      Ответить
      • что-то это мне напоминает. TarasB перелогинься.

        говнокод - забористый
        Ответить
        • В Паскале так нельзя, там, к счастью, не додумались сделать строки классами.
          Ответить
    • Вообще, идея отличная.
      Глобально заменять FALSE на strlen('') > 0, TRUE на !((1|0)^(1&1)).
      В генерируемом скрипте получится чудесная "оптимизация". И обфускации не надо.
      Ответить
    • Это функциональный тест интерпретатора. Дальше по логике должно быть что-то вроде if (2 * 2 == 4) {...} и проверка всех остальных операций.
      Вдруг интерпретатор сломался, надо же подстраховаться! Ничего вы не понимаете в концепции надёжного кода!
      Ответить
    • что-то подобное использовалось, что бы обмануть слишком умные идешки\компиляторы, которым очень не нравились очевидные конструкции типа if( /*check()*/ true ), посему приходилось выкручиваться
      Ответить
      • А если использовать пробел нулевой длины, можно обмануть неокрепший мозг =) Скопируйте в фаербаг
        '​'.length
        Ответить
        • 0?
          Ответить
          • Можно и без отладочных средств проверить. Копируем в адресную строку браузера
            javascript:'​'.length
            Пробел, который вспомнил HyperGeek, видно только в моноширинных шрифтах, а в шрифтах со свободной шириной два апострофа встанут без зазора, что порвёт мозг хакеров.
            Ответить
        • тащемта в разнобраузерных системах символ по-разному интерпретируется.
          в опере у меня виден чёткий прямоугольник...
          Ответить
          • может тоже какая нибудь Opera 6?
            у меня всё в порядке, пробел пробеливает, etc

            PS: если поиграться с выделением, закрывающая кавычка исчезает :)
            Ответить
            • под виндой в опере прямоугольник, под линуксом в любом браузере пусто... (т.е. как бы как надо)
              --
              виндоопера 11 модели...
              Ответить
              • Линукс крут!
                Ответить
              • У меня под виндой в Опере пусто. ЧЯДНТ?
                Практика показывает, что дело не только в браузере, но и в ассортименте установленных шрифтов. Добавление или удаление одного шрифта может напрочь перекорёжить отображение страницы.
                Ответить
                • да, значит уницода в шрифте нехватат
                  Ответить
                • я уже не первый раз сталкиваюсь с подобным. Буду солидарен с "практикой" :) в который раз убеждаюсь, что буржуйские компы стопроцентнокорректно отображают только ASCII, а на остальное - широкий модельный ряд велосипедов. :)
                  Ответить
                • в 9-ой опере - не видно
                  в 10 опере - видно ​
                  11-ю пока переходить не хочу, потому хз

                  ИЕ6 - видно​
                  ИЕ7 - видно​
                  ФФ - при выполнении скрипта видно javascript:'%E2%80%8B'.length

                  все на спермоси
                  Ответить
                  • 11 - не видно, не без косяков, но стабильная, можно апгрейдить
                    Ответить

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