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

    +112

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    function detectSourceindex(aobject){
        for (i=0; i<tabobjlinks.length; i++){
        if (aobject==tabobjlinks[i]){
        tabsourceindex=i //source index of tab bar relative to other tabs
        break
        }
        }
        }

    Челы позиционируют себя как супер пупер команда разработчиков

    Запостил: Vasiliy, 17 Мая 2010

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

    • взято от сюда http://riseabovemarketing.com/
      Ответить
    • И что кроме форматирования вас оттолкнуло?
      Ответить
      • 1. Использование глобальных переменных
        2. Сравнение нужно проводить с помощью ===

        Да и лучше было бы сделать упрощенную реализацию этого
        https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array/indexOf#Compatibility
        Ответить
      • ГЛОБАЛЬНЫЕ ПЕРЕМЕННЫЕ (большыми буквами, чтобы передать их чудовищную вонь).
        i - глобальная (var не осилили)
        tabsourceindex - глобальная (return не осилили)

        Отступы и semicolon'ы (во всем коде нет ни одного, большинство однострочных блоков {})
        Ответить
        • Ну с i да, тут конечно и не поспорить. Но tabsourceindex, допустим, необходим был глобально - да и функция своим названием не говорит нам что обязана вернуть индекс таба. Задетектить - да, должна, а вернуть - не обязательно =) Как-то не ясно, говнокод или нет.
          Ответить
          • > Но tabsourceindex, допустим, необходим был глобально
            tabsourceindex = detectSourceindex(aobject);

            > Как-то не ясно, говнокод или нет.
            Функция, возвращающая свой результат (о она по смыслу именно возвращает результат, а не изменяет состояние системы) через глобальную переменную - говно в элементарном виде.
            Выигрыш по обьему - одно присваивание
            По скорости - 0
            Reusablility - 0
            Читаемость кода - 0
            Ответить
    • показать все, что скрытоВсегда делал - index=array.join().search("Строка поиска") ;
      Ответить
      • однако как хорошо оптимизировано под и без того "быстрый" js.
        Ответить
      • Фееричный школокод ))
        Ответить
      • >>>Всегда делал

        Всегда говнокодил?
        Ответить
      • есть метод IndexOf и у массивов, и у строк.
        Ответить
        • indexOf
          Ответить
        • У IE нет :) Но вообще да, нужно было эмулировать эти штуки из JS 1.6 самому (даже код реализации на MDC есть).
          Ответить

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