1. Список говнокодов пользователя Oleg_quadro

    Всего: 14

  2. JavaScript / Говнокод #4802

    +147

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    var n = Math.abs(((date2 - date1) / 86400000) + 1);	
    var frac = n - Math.floor(n);
    
    if (frac > 0.5) {
    	n = Math.ceil(n);
    } else if (frac < 0.5 && frac.toPrecision(2) != 0) {
    	n = Math.floor(n);
    	n--;
    }
    
    n++;

    Мой говнокод.
    Задача: найти количество дней между двумя датами, включая сами эти даты. Время в датах сброшено в 0
    Фишка в том "(date2 - date1) / 86400000) + 1", не работает когда есть перевод часов между двумя датами.
    И вот такое говно я написал, которое по некоторым дням НЕ РАБОТАЕТ.

    переписал вот так:
    var n = Math.abs(date2 - date1);
    n /= 3600000;
    var mod = n % 24;
    if (mod == 23) {
    n++;
    } else if (mod == 1) {
    n--;
    }
    n /= 24;
    n++;

    теперь не важно сколько переводов часов прошло между датами: 0, 1, 2 или 5.

    По поводу говнокода:
    За такой frac на авторе надо зарабатывать фраг!

    Oleg_quadro: автор, убей себя головой о клаву:
    Oleg_quadro: "vb fgrbfvgr bgfvrt rtuijnikjikni56trg5rt6g45t6rgyh hnjunh ujuuuuuuuuuuuuuuuuuuuy"

    Oleg_quadro, 01 Декабря 2010

    Комментарии (67)
  3. SQL / Говнокод #4801

    −196

    1. 1
    2. 2
    3. 3
    4. 4
    ....
        SELECT * BULK COLLECT INTO dbg FROM debug_codes;
        FOR i IN 1..dbg.COUNT LOOP
    ....

    PL/SQL
    Вся таблица запихивается в коллекцию.
    2 миллиона строк — серверу плохо, скрипт работает около 8 часов.
    после исправления (в коллекцию вставляются строки пачками по 10 000 штук) стал работать полчаса.

    Oleg_quadro, 01 Декабря 2010

    Комментарии (3)
  4. Куча / Говнокод #4645

    +135

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    <p id="entrance">
                Нашли или ...
    </p>
    
    <p id="entrance" style="background: #fff; padding: 8px; -webkit-border-radius: 8px; -moz-border-radius: 8px; border-radius: 8px; -webkit-box-shadow: 0 0 5px #aaa">
    	Дорогие пользователи
    </p>

    Решил я написать скрипт для GreaseMonkey, который убирает сообщение "Дорогие пользователи, "
    И вот что обнаружил: в коде есть два одинаковых айдишника id="entrance".

    Используется стиль p#entrance.

    Если надо использовать стили в нескольких элементах, используй классы.

    А разные айдишники оставь для джаваскрипта,
    а то не выбрать определенный элемент с помощью document.getElementById.

    В крайнем случае используй атрибут name. Для него есть метод document.getElementsByName

    Oleg_quadro, 16 Ноября 2010

    Комментарии (42)
  5. PHP / Говнокод #4619

    +144

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    switch ($mode) {
                default:
                <не интересный код пропущен>
                break;
    }

    Догайтесь с какого это проекта?

    Я бы не запостил, если бы не увидел на хабре сообщение от некоторого striker_vlad:
    "буду рад, если найдете там что-то, что можно будет напостить на сам сайт ;)"

    Oleg_quadro, 13 Ноября 2010

    Комментарии (47)
  6. SQL / Говнокод #4607

    −180

    1. 1
    select nvl(count(*), 0) from ...

    Вот такое увидел.
    Защита от нежданчика.

    Oleg_quadro, 13 Ноября 2010

    Комментарии (1)
  7. Куча / Говнокод #4508

    +144

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    Хочу провести маленький опрос.
    
    Внимание вопрос:
    Считать ли код говнокодом, если:
    
    а) он выполняет свою работу хорошо.
    б) его легко поддерживать.
    в) не используются хаки (т.е. код переносим, не зависит от браузера и т.д.)
    
    ?
    
    ЧЁТКО выполняются эти 3 условия, и не важно, что в коде, например, используется даже оператор goto.
    
    Моё мнение - нет, если эти 3 условия выполняются.

    Oleg_quadro, 01 Ноября 2010

    Комментарии (6)
  8. JavaScript / Говнокод #4412

    +144

    1. 1
    if ((text == '' || text == '\n') && document.getElementById('log').innerHTML == '...')

    Вот такое говнецо я сделал. Надо исправить.
    Следуя лозунгу говнокода "Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!", выкладываю.

    КЭП: document.getElementById('log').innerHTML == '...' - Фэйл, не надо завязываться на содержимое.

    Oleg_quadro, 22 Октября 2010

    Комментарии (9)
  9. JavaScript / Говнокод #2330

    +149.1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    myAutoComp.formatResult = function(oResultData, sQuery, sResultMatch) { 
    
          .....
          var aMarkup = ["<div class='myCustomResult'>", 
    	      "<span style='font-weight:bold'>", 
    	      sKey, 
    	      "</span>", 
    	      sKeyRemainder, 
    	      ": ", 
    	      moreData1, 
    	      ", ", 
    	      moreData2, 
    	      "</div>"]; 
                  return (aMarkup.join("")); 
    };

    Отсюда http://developer.yahoo.com/yui/examples/autocomplete/ac_basic_xhr.html

    Oleg_quadro, 25 Декабря 2009

    Комментарии (7)
  10. Perl / Говнокод #2071

    −115.1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    $oblom = 1;
    if ($pusto == 0) {#Если пусто, то сред никем не занят
    	$oblom = 0;
    } else {
    	$oblom = 0;
    .....

    Смотри на переменную $oblom
    В продолжение 2059

    Oleg_quadro, 29 Октября 2009

    Комментарии (4)
  11. Perl / Говнокод #2059

    −104.8

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    if ($i > $#files) {
            $pusto = 0; #Это значит пусто
    } else {
            $pusto = 1;
    }

    Нашёл в своем давнешнем коде.
    $pusto = 0; #Это значит пусто
    Логика рулит.

    Oleg_quadro, 27 Октября 2009

    Комментарии (3)