ЙажаСценарий / Говнокод #13630 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
var sym = new Array();
sym["a"]=0;sym["c"]=1;sym["d"]=2;sym["e"]=3;sym["f"]=4;sym["g"]=5;sym["h"]=6;sym["k"]=7;sym["l"]=8;sym["m"]=9;sym["n"]=10;sym["p"]=11;sym["q"]=12;sym["r"]=13;sym["s"]=14;sym["t"]=15;sym["u"]=16;sym["w"]=17;sym["x"]=18;sym["z"]=19;sym["2"]=20;sym["3"]=21;sym["4"]=22;sym["5"]=23;sym["6"]=24;sym["7"]=25;

function convertCode(field)
    {
        var code = $(field).val().toLowerCase();
        var convertedCode = sym[code.charAt(0)];
        
        for (var i = 1; i < code.length; i++)
            convertedCode += "_" + sym[code.charAt(i)];

        $(field).closest(".captcha-block").find("#captchaCode").val(convertedCode);
    }

Я не осилил, что делает это говно? (Сбербанк-Онлайн)

Там еще кодировка win-1251 и тег <head> открывается на 30й строке кода. Нет, я не фанат обфускации, но КАК?!

Запостил: CRRaD CRRaD, (Updated )

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

  • > что делает это говно?
    Тормозит (массиво-объект, авторский join, DOM-фэйлы), вероятно, использует несколько элементов с одним ID, а также пишет в какое-то поле строки вида
    "4_16_1_7_undefined_10_5_14_undefined_3_13_undefined_0_10_7"



    Товарищ, помни! Создавая подобный код, ты даришь царю ещё один аргумент в пользу сишки!!!1111
    Ответить
      • Только его убогость и костыльность сравнима с отстуствием оного (ибо безопаснее просто не юзать).
        Ответить
          • bormand и я где-то недавно писали.
            Начиная с того как будет работать такой код
            while (a in {'a':1,'b':2}){}
            for (var a='a';a in {'a':1,'b':2;}){}

            Заканчивая тем что он перебирает методы-прототипов, работает медленней и содержит кучу граблей.
            http://stackoverflow.com/questions/500504/why-is-using-for-in-with-array-iteration-such-a-bad-idea

            Так что такой for-in, можно расценивать как его отсутствие.
            Ответить
            • иногда это единственный способ походить по "массиву", в котором индексы не проходятся по i++
              вот прямо как в случае в ОП
              Ответить
                • Цитата с MSDN: Поддерживается в следующих режимах документов: стандартный режим Internet Explorer 9 и стандартный режим Internet Explorer 10.

                  Слоупоки такие слоупоки 😉 Хотя авторы js тоже слоупоки, раз только в жс 1.8.5 додумались внедрить свойство, которое надо было запилить сразу, в первой же версии.
                  Ответить
          • Каждый раз как я использовал for-in в js - я горько жалел об этом впоследствии. Потому для меня в js нет for-in, потому не минусовал anonimb84a2f6fd141, т.к. в js он таки есть, то я его и не плюсовал.

            Тут на самом деле вопрос шире.
            Ответить
          • Сегодня конец недели, потому уделю этому время.
            Если сильно исхитриться и вложить все знания js(коими я не обладаю, да и лень) и смекалку (например использовать генераторы-итераторы), то можно написать качественные, быстрые хелпер-методы, с которыми использование for-in станет удобным и приобрет смысл. Примерно так:
            for (var in $array(a))
            for (var in $values(b))
            for (var in $entries(b))

            Но только вот делать такое лень. А должны делать разрабы браузеров и языка.
            2 bormand
            >>>додумались внедрить свойство, которое надо было запилить сразу, в первой же версии.
            Почему не внедрили Object.values и Object.entries, который вернет кортеж из двух элементов:
            [key,value]?
            Ведь доступ по ключу отнимает какое-то время
            Ответить
    • Ну ты ж любитель замыканий, на каждом шагу про них твердишь, вот и юзай.
      [6,5,4,3,2].forEach(function(a) {
          console.log(a);
      });

      Вменяемым же людям придется принять и полюбить императивный for, т.к. это самая быстрая и короткая версия.
      С тем различием что замыкание изолирует переменную цикла в своем неймспейсе - иногда это полезно.
      Ответить
  • > открывается на 30й строке кода
    Главное версию хтмл не указывать 😉 Тогда браузер молча сожрет любое говно и не подавится. У нас как-то на внутреннем сайте висела страничка, в которой ни одна <tr> не была закрыта. Так эта таблица во всех браузерах показывалась нормально.
    Ответить
    • Производители браузеров понимают, кто пишет сайты, поэтому пытаются хоть как то разрулить)
      Ответить
      • > Производители браузеров понимают, кто пишет сайты, поэтому пытаются хоть как то разрулить)
        Писатели сайтов понимают, что браузер схавает. Поэтому не пытаются писать правильный код. Порочный круг 😉
        Ответить
        • Не совсем о том, но накипело - периодически натыкаюсь на сайты по программированию, даже web программированию, написанные на joomla. Единственное что в них своего - копирайты. И при этом эти люди считают себя гуру.
          Ответить
          • > написанные на joomla
            Вы так говорите, как-будто это что-то плохое. Если бы я делал свой сайт по программированию - я бы тоже его сляпал на джумле\вордпрессе, не писать же ради этого свой движок 😉

            > Единственное что в них своего - копирайты.
            Т.е. все статьи спизжены?
            Ответить
            • > Если бы я делал свой сайт по программированию - я бы тоже его сляпал на джумле\вордпрессе, не писать же ради этого свой движок 😉
              Какова вероятность, что к тому времени когда вы будете способны сделать достойный прочтения сайт по веб-программированию, у вас не будет собственного движка (или освоенного фреймворка, как минимум)?
              По другим же аспектам программирования - тут понятное дело, что разумно взять попавшийся под руку блоговый движок.
              2 kegdan: А ты себе представлял, что чуваки оторвутся от шитья контроллеров что бы сделать себе бложек уютненький? На статьи-то поди еле времени хватает.
              Ответить
              • > А ты себе представлял, что чуваки оторвутся от шитья контроллеров что бы сделать себе бложек уютненький? На статьи-то поди еле времени хватает

                Таким чувакам ну нафиг не сдался собственный сайт - хабры хватит с лихвой.
                Ответить
                • > хабры хватит с лихвой
                  easyelectronics, radiokot, хабра то зачем? 🙂
                  Ответить
              • Я знаю десять имен мальчиков которые внесли весомый вклад в программирование не создав ни одного сайта, ни тем более ЦМС.
                Ответить
                • Вы точно читали мой комментарий?
                  > достойный прочтения сайт по веб-программированию
                  Так всё-таки вклад в программирование или в веб-программирование?
                  Ответить
                  • ОК, таких может быть человек пять всего. Ну, например, Винт Серф, Роберт Кан...
                    Ответить
                    • Тото же. Вот я и сказал, какова вероятность? Ничтожна.
                      Ответить
                        • Из всех людей учавствующих в разработке сайта, верстальщиков только какая-то часть, и обычно далеко не самая значительная. Остальные люди, которые имеют такое же отношение к веб-разработке занимаются базами данных, прикладными программами обслуживающими эти базы. решающие всевозможные задачи связанные с функционированием сервера - и никто из этих людей может даже никогда не создать и одного сайта. Я за всю жизнь сделал может 3-4, и то, это было либо по дружбе, либо энтузиазм. По работе мне только один раз приходилось этим заниматься, и то, всего пару месяцев.
                          Ответить
                          • Мистер бетмен (у Вас просто логин на летучую мышь похож, ничего личного), согласитесь, что если бы Вам нужен был сайт о веб программировании, вы бы писали его сами (ибо на энтузиазме) И как бы не очень бы хотелось, что бы оно было собрано на низкопробной джумле на 30 минут
                            Ответить
                            • Если это что-то типа персонального блога, сделал бы из Вордрпесса скорее всего, ну или Орг + Мьюз. Сам бы ничего такого писать не стал - мне это не интересно / вообще не вижу смысла.
                              Ответить
                              • Да ну. На разметку и копипаст бойлерплейта куча времени уйдет.

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

                                На тех же вики разметка проще у удобней на порядки. А в цмсках вообще визивиг редакторы. Если цель сайта именно контент - эти способы явно лучше хтмл статики.
                                Ответить
                                • Я имею в виду
                                  1. написал в чем нибудь вроде rst
                                  2. прогнал через генератор html со стилями
                                  3. выложил генерёную статику
                                  4. PROFIT

                                  Движки ещё какие-то изобретать
                                  Ответить
                                  • > прогнал через генератор html со стилями
                                    Генератор запускать, статику выкладывать...

                                    > Движки ещё какие-то изобретать
                                    Дык полно же готовых цмс и вики... И ставятся даже нубом в пределах получаса... А если не хочется ставить - пожалуйста, есть всякие блогоплатформы типа хабра и жж. И никакого секса с генерацией и выкладыванием. И стили придумывать не надо, если готовые (или скачанные где-то рядом) устраивают.

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

              > все статьи спизжены?

              тут хз, не проверял.
              Ответить
              • Ну если не все статьи спизжены, то не только копирайты же свои? 🙂 Все-таки сайт это прежде всего статьи и контент, и только потом движок.
                Ответить
      • Где-то в тексте работы, о которой говорит пост http://habrahabr.ru/post/174057/, была цитата из кода какого-то движка, что-то вроде "// А это потому, что тупые пользователи пишут код после закрытого <body>".
        Ответить

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

Где здесь C++, guest?!

    А не использовать ли нам bbcode?


    8