-
Список говнокодов пользователя Oleg_quadro
Всего: 14
-
+147
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 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
-
−196
- 1
- 2
- 3
- 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
-
+135
- 1
- 2
- 3
- 4
- 5
- 6
- 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
-
+144
- 1
- 2
- 3
- 4
- 5
switch ($mode) {
default:
<не интересный код пропущен>
break;
}
Догайтесь с какого это проекта?
Я бы не запостил, если бы не увидел на хабре сообщение от некоторого striker_vlad:
"буду рад, если найдете там что-то, что можно будет напостить на сам сайт ;)"
Oleg_quadro,
13 Ноября 2010
-
−180
- 1
select nvl(count(*), 0) from ...
Вот такое увидел.
Защита от нежданчика.
Oleg_quadro,
13 Ноября 2010
-
+144
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
Хочу провести маленький опрос.
Внимание вопрос:
Считать ли код говнокодом, если:
а) он выполняет свою работу хорошо.
б) его легко поддерживать.
в) не используются хаки (т.е. код переносим, не зависит от браузера и т.д.)
?
ЧЁТКО выполняются эти 3 условия, и не важно, что в коде, например, используется даже оператор goto.
Моё мнение - нет, если эти 3 условия выполняются.
Oleg_quadro,
01 Ноября 2010
-
+144
- 1
if ((text == '' || text == '\n') && document.getElementById('log').innerHTML == '...')
Вот такое говнецо я сделал. Надо исправить.
Следуя лозунгу говнокода "Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!", выкладываю.
КЭП: document.getElementById('log').innerHTML == '...' - Фэйл, не надо завязываться на содержимое.
Oleg_quadro,
22 Октября 2010
-
+149.1
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 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
-
−115.1
- 1
- 2
- 3
- 4
- 5
- 6
$oblom = 1;
if ($pusto == 0) {#Если пусто, то сред никем не занят
$oblom = 0;
} else {
$oblom = 0;
.....
Смотри на переменную $oblom
В продолжение 2059
Oleg_quadro,
29 Октября 2009
-
−104.8
- 1
- 2
- 3
- 4
- 5
if ($i > $#files) {
$pusto = 0; #Это значит пусто
} else {
$pusto = 1;
}
Нашёл в своем давнешнем коде.
$pusto = 0; #Это значит пусто
Логика рулит.
Oleg_quadro,
27 Октября 2009