-
Лучший говнокод
- В номинации:
-
- За время:
-
-
+119
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
public void SendCommand(string command, bool fake)
{
...
for (var tries = 0; tries < 2; tries++)
{
for (var i = 0; i < 2; i++)
try
{
sended = m_Socket.Send(sendBytes);
break;
}
catch (Exception e)
{
Log.Error(LogSys, "SendCommand: Xception on send command to server: {0}", e.Message);
Thread.Sleep(m_Socket.SendTimeout);
if (i == 10)
{
Log.Error(LogSys, "SendCommand: cant send command in 10 tries.");
return;
}
continue;
}
...
}
...
}
Метод "отправил и забыл" ака "Почта России" казался ведущему разработчику способным решить задачу взаимодействия двух сетевых приложений. Возможно, в будущем он планировал написать код, который бы отслеживал изменения в логах и сообщал о найденных в них ошибках, но этот метод был обнаружен быстрее
banderror,
04 Декабря 2010
-
+145
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
function parseHTML(text)
{
var t = text;
var a = new Array();
var b = new Array();
var cur = 0;
var waiting_open_tag = true;
var last_cut = 0;
for (var i = 0; i < t.length; i++)
{
cur = t.charAt(i);
if (waiting_open_tag)
{
if (cur == '<')
{
a.push(t.substring(last_cut, i));
waiting_open_tag = false;
last_cut = i;
}
}
else
{
if (cur == '>')
{
a.push(t.substring(last_cut, i+1));
waiting_open_tag = true;
last_cut = i+1;
}
}
if (i == t.length-1)
{
a.push(t.substring(last_cut, i+1));
}
}
// now reparse DOT"."
for (i = 0; i < a.length; i++)
{
y = a[i];
last_cut = 0;
for (z = 0; z < y.length; z++)
{
cur = y.charAt(z);
if (z == 0)
{
if ((cur == '<') || (cur == '&') || (cur == '\n'))
{
z = y.length + 981;
b.push(y.substring(last_cut, z+1));
continue;
}
}
if (cur == '.')
{
b.push(y.substring(last_cut, z+1));
last_cut = z+1;
}
if (z == y.length-1)
{
b.push(y.substring(last_cut, z+1));
}
}
}
return b;
}
Эта функция разбивает строку на элементы массива. Граница разделения - это HTML tags ( < >) и точка (.)
Функция сделана для подготовки текста к автоматическому переводу в Гугле - кто работал тот знает что запихнув большую строку ничего не получите.
Я уже знаю ваши сопливые комментарии: RegExp. Собственно по этому это можно считать говнокодом ибо изобретен велосипед (но такого велосипеда в интернете нет). Ну а кто не Noob, прошу предоставить рабочий RegExp.
increazon,
02 Декабря 2010
-
+145
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
#include <iostream>
#include <fstream>
#include <conio.h>
using namespace std;
int main()
{
int wc,cnt=0,maxp=0,minp=2147483647,maxn=-2147483648,minn=0,pos=0,neg=0,zf=0;
fstream(f);
f.open("input.txt",ios::in);
while (!f.eof())
{
if(!zf) zf--;
wc=0;
f >>wc;
if (wc>0) { if (maxp<wc) maxp=wc; if (minp>wc) minp=wc; pos++; }
else {if (minn>wc) minn=wc; if (maxn<wc&&wc)maxn=wc; if (!wc) zf+=2; else neg++; }
}
if (pos>1 && neg>1)
if ((float)maxp/minp > (float)minn/maxn) cout<<maxp<<"/"<<minp<<"="<<(float)maxp/minp;
else cout<<minn<<"/"<<maxn<<"="<<(float)minn/maxn;
if (pos>1 && neg<2) cout<<maxp<<"/"<<minp<<"="<<(float)maxp/minp;
if (pos<2 && neg>1) cout<<minn<<"/"<<maxn<<"="<<(float)minn/maxn;
if (pos<=1 && neg<=1)
if(zf) if(pos) cout<<"0/"<<minp<<"=0";else cout<<"0/"<<minn<<"=0";
else if ((float)maxp/maxn>(float)maxn/maxp)cout<<maxp<<"/"<<maxn<<"="<<(float)maxp/maxn;
else cout<<maxn<<"/"<<maxp<<"="<<(float)maxn/maxp;
if (pos+neg+zf<=1) cout<<"No solution!";
f.close();
getch();
return 0;
}
Задача 2-ого курса: "в массиве целых числел найти два таких числа, чтобы их частное было максимальным ( O(n) )"
И ее решение -.- Особо доставляет название переменных
bulka,
29 Ноября 2010
-
+165
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
function loadtitle($array) { //Функция установки meta-параметров в массив
$meta = array(); //Устанавливаем массив
$meta['title']=$array['title']; //Присваиваем метаданные
$meta['description'] = $array['description'];
$meta['author'] = $array['author'];
$meta['keywords'] = $array['keywords'];
return $meta; //Возвращаем массив метаданных
}
обнаружил в своем проекте 3 летней давности. сижу и тихо офигеваю)
kindofbear,
28 Ноября 2010
-
+155
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
/*фрагмент из компонента*/
$arProps = array(
"NAMES"=>$props["NAMES"]["VALUE"],
"DESCRIPTIONS"=>$props["DESCRIPTIONS"]["VALUE"],
"LINKS"=>$props["LINKS"]["VALUE"],
"IMAGES"=>$props["PICTURES"]["VALUE"],
"URLS" => array(
"0"=>CFile::GetPath($props["PICTURES"]["VALUE"][0]),
"1"=>CFile::GetPath($props["PICTURES"]["VALUE"][1]),
"2"=>CFile::GetPath($props["PICTURES"]["VALUE"][2]),
"3"=>CFile::GetPath($props["PICTURES"]["VALUE"][3]),
"4"=>CFile::GetPath($props["PICTURES"]["VALUE"][4]),
),
);
/*код из шаблона*/
<div class="text-blocks">
<?if($arResult["PROPS"]["DESCRIPTIONS"][0]["TEXT"]):?>
<div id="banner_text_1" class="text curr" style="left:92px; opacity:0.8; display: block">
<table border="0" cellpadding="0" cellspacing="0"><tr><td>
<a href="<?=$arResult["PROPS"]["LINKS"][0]?>"><?=$arResult["PROPS"]["DESCRIPTIONS"][0]["TEXT"]?></a>
</td></tr></table>
</div>
<?endif;?>
<?if($arResult["PROPS"]["DESCRIPTIONS"][1]["TEXT"]):?>
<div id="banner_text_2" class="text" style="left:156px; opacity:0; display: none">
<table border="0" cellpadding="0" cellspacing="0"><tr><td>
<a href="<?=$arResult["PROPS"]["LINKS"][1]?>"><?=$arResult["PROPS"]["DESCRIPTIONS"][1]["TEXT"]?></a>
</td></tr></table>
</div>
<?endif;?>
<?if($arResult["PROPS"]["DESCRIPTIONS"][2]["TEXT"]):?>
<div id="banner_text_3" class="text" style="left:220px; opacity:0; display: none">
<table border="0" cellpadding="0" cellspacing="0"><tr><td>
<a href="<?=$arResult["PROPS"]["LINKS"][2]?>"><?=$arResult["PROPS"]["DESCRIPTIONS"][2]["TEXT"]?></a>
</td></tr></table>
</div>
<?endif;?>
<?if($arResult["PROPS"]["DESCRIPTIONS"][3]["TEXT"]):?>
<div id="banner_text_4" class="text" style="left:284px; opacity:0; display: none">
<table border="0" cellpadding="0" cellspacing="0"><tr><td>
<a href="<?=$arResult["PROPS"]["LINKS"][3]?>"><?=$arResult["PROPS"]["DESCRIPTIONS"][3]["TEXT"]?></a>
</td></tr></table>
</div>
<?endif;?>
<?if($arResult["PROPS"]["DESCRIPTIONS"][4]["TEXT"]):?>
<div id="banner_text_4" class="text" style="left:284px; opacity:0; display: none">
<table border="0" cellpadding="0" cellspacing="0"><tr><td>
<a href="<?=$arResult["PROPS"]["LINKS"][4]?>"><?=$arResult["PROPS"]["DESCRIPTIONS"][3]["TEXT"]?></a>
</td></tr></table>
</div>
<?endif;?>
</div>
Выборка свойств картинок и последующий вывод в шаблоне (выдернуто из самописного компонента Битрикс). Писал это очень давно, вот возникла необходимость править, открыл - посмотрел - случилась истерика!!! Очевидно что такое циклы я тогда еще не подозревал))
akovalenko,
26 Ноября 2010
-
+179
- 1
- 2
- 3
- 4
- 5
- 6
if(
(s.Find("/0")!=-1)||
(s.Find("Log10(-")!=-1)||
(s.Find("Log10(0")!=-1))//stupid user error
{
}
Проверка, есть ли в формуле, введенной пользователем, деление на 0, логарифм от отрицательного числа или логарифм от нуля. Стиль и комментарии автора сохранены.
Shumway,
23 Ноября 2010
-
+156
- 1
- 2
- 3
- 4
# Записываем в БД новый хеш авторизации и IP
$query=mysql_query("UPDATE user SET hash='".$hash."'".$insip." WHERE id='".$data['id']."'");
$result = mysql_query($query)
or die ("<p>Нельзя выполнить запрос ".mysql_error());
qbasic,
17 Ноября 2010
-
−116
- 1
map { push @{ $cgih->{add_result}->{errors} }, 'НЕ добавлено: ' . $_->{title} } @failed_comps;
Видимо теперь использовать for это уже не по-пацански!
antonfin,
15 Ноября 2010
-
+68
- 1
- 2
- 3
if (url == null) {
throw new RuntimeException("Error reading resource " + url.getFile());
}
ха.
туториалы jogl
Lure Of Chaos,
11 Ноября 2010
-
+169
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
/**
* Retrieve minimum query length
*
* @deprecated after 1.3.2.3 use getMinQueryLength() instead
* @return int
*/
public function getMinQueryLenght()
{
return Mage::getStoreConfig(self::XML_PATH_MIN_QUERY_LENGTH, $this->getStoreId());
}
/**
* Retrieve minimum query length
*
* @return int
*/
public function getMinQueryLength(){
return $this->getMinQueryLenght();
}
Интересный подход к орфографическим ошибкам :)
vo1,
11 Ноября 2010