- 1
- 2
- 3
- 4
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,27)
kill_proc(1,SIGTERM,1);
#else
...
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+146
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,27)
kill_proc(1,SIGTERM,1);
#else
...
Оригинальный способ проверить версию ядра линукса...
Где-то в сырцах реалтековского драйвера для GPIO...
+161
/**
* @param array $config
* @return App_Ldap
*/
private final function __construct(array $config)
{
if (!empty($config['host'])) {
$this->_host = $config['host'];
$dnTemp = explode('.', $this->_host);
$dnTemp = array_map(function($value)
{
return 'dc=' . $value;
}, $dnTemp);
$this->_dn = implode(',', $dnTemp);
} else {
throw new Exception('I need LDAP host');
}
if (!empty($config['user'])) {
$this->_user = $config['user'];
} else {
throw new Exception('I need LDAP login');
}
if (!empty($config['pass'])) {
$this->_pass = $config['pass'];
} else {
throw new Exception('I need LDAP pass');
}
return $this;
}
+163
$result = $db->query("SELECT w.wine_name as wine_name,(SELECT wine_type FROM wine_type WHERE wine_id_type = w.wine_type) as wine_type,
(SELECT variety FROM grape_variety WHERE variety_id = (SELECT variety_id FROM wine_variety WHERE wine_id = w.wine_id)) AS wine_variety,
w.year as wine_year, (SELECT winery_name FROM winery WHERE winery_id = w.winery_id) as winery,
(SELECT region_name FROM region WHERE region_id = (SELECT region_id FROM winery WHERE winery_id = w.winery_id)) as winery_region,
(SELECT cost FROM inventory WHERE wine_id = w.wine_id) as wine_cost,
(SELECT on_hand FROM inventory WHERE wine_id = w.wine_id) as wine_quantity
FROM wine w
WHERE w.wine_id = '$id'");
достаём данные из базы для страницы редактирования ...
+123
function HexWrdToStr(Dval : integer) : string;
var i : integer;
retstr : string;
begin
retstr := '';
i := (Dval AND $F000) DIV $1000;
case i of
0 : retstr := retstr + '0';
1 : retstr := retstr + '1';
2 : retstr := retstr + '2';
3 : retstr := retstr + '3';
4 : retstr := retstr + '4';
5 : retstr := retstr + '5';
6 : retstr := retstr + '6';
7 : retstr := retstr + '7';
8 : retstr := retstr + '8';
9 : retstr := retstr + '9';
10 : retstr := retstr + 'A';
11 : retstr := retstr + 'B';
12 : retstr := retstr + 'C';
13 : retstr := retstr + 'D';
14 : retstr := retstr + 'E';
15 : retstr := retstr + 'F';
end;
i := (Dval AND $F00) DIV $100;
case i of
0 : retstr := retstr + '0';
1 : retstr := retstr + '1';
2 : retstr := retstr + '2';
3 : retstr := retstr + '3';
4 : retstr := retstr + '4';
5 : retstr := retstr + '5';
6 : retstr := retstr + '6';
7 : retstr := retstr + '7';
8 : retstr := retstr + '8';
9 : retstr := retstr + '9';
10 : retstr := retstr + 'A';
11 : retstr := retstr + 'B';
12 : retstr := retstr + 'C';
13 : retstr := retstr + 'D';
14 : retstr := retstr + 'E';
15 : retstr := retstr + 'F';
end;
i := (Dval AND $F0) DIV $10;
case i of
0 : retstr := retstr + '0';
1 : retstr := retstr + '1';
2 : retstr := retstr + '2';
3 : retstr := retstr + '3';
4 : retstr := retstr + '4';
5 : retstr := retstr + '5';
6 : retstr := retstr + '6';
7 : retstr := retstr + '7';
8 : retstr := retstr + '8';
9 : retstr := retstr + '9';
10 : retstr := retstr + 'A';
11 : retstr := retstr + 'B';
12 : retstr := retstr + 'C';
13 : retstr := retstr + 'D';
14 : retstr := retstr + 'E';
15 : retstr := retstr + 'F';
end;
i := Dval AND $F;
case i of
0 : retstr := retstr + '0';
1 : retstr := retstr + '1';
2 : retstr := retstr + '2';
3 : retstr := retstr + '3';
4 : retstr := retstr + '4';
5 : retstr := retstr + '5';
6 : retstr := retstr + '6';
7 : retstr := retstr + '7';
8 : retstr := retstr + '8';
9 : retstr := retstr + '9';
10 : retstr := retstr + 'A';
11 : retstr := retstr + 'B';
12 : retstr := retstr + 'C';
13 : retstr := retstr + 'D';
14 : retstr := retstr + 'E';
15 : retstr := retstr + 'F';
end;
HexWrdToStr := retstr;
end;
Авторы - программисты из FTDI, взято из экзамплов работы с USB-конвертерами.
Полный текст можно найти здесь: __http://www.ftdichip.com/Support/SoftwareExamples/CodeExamples/Delphi.htm
З.Ы. Ниже по тексту идет аналогичная функция HexByteToStr. Алгоритм, так сказать, тот же.
+161
/// ...хде-то в начале огромной-преогромной функции...
#define ADD_GRAPH(gid,gmod) m_Registry[TGraphId(gid,gmod)] = new
/// ...хде-то по её середине...
#define ADD_MAP_WEAPON_OVERLAY(name_base,file_name)\
for (i=0; i<8; i++)\
{\
ADD_GRAPH(name_base _T("S"),i) (CLoadImage (\
file_name,\
TImageFX ()\
.SetColorReplacementFX (g_WeaponRecolor[i],2,0)\
));\
ADD_GRAPH(name_base _T("Q"),i) (CLoadImage (\
file_name,\
TImageFX ()\
.SetColorReplacementFX (g_WeaponRecolor[i],2,1)\
));\
}
#define ADD_MAP_WEAPON_OUTLINE(name_base,file_name)\
ADD_GRAPH(name_base _T("C"),0) (CLoadImage (\
file_name,\
TImageFX ()\
.SetColorReplacementFX (g_WeaponRecolor[0],2,2)\
));
ADD_MAP_WEAPON_OVERLAY (_T("CellSword"),_T("cell_weap_sword.png"));
ADD_MAP_WEAPON_OVERLAY (_T("CellAxe"),_T("cell_weap_axe.png"));
ADD_MAP_WEAPON_OVERLAY (_T("CellEshock"),_T("cell_weap_eshock.png"));
ADD_MAP_WEAPON_OVERLAY (_T("CellLance"),_T("cell_weap_lance.png"));
//... тут очень много в таком же духе ...
ADD_MAP_WEAPON_OUTLINE (_T("CellXbow"),_T("cell_weap_xbow.png"));
ADD_MAP_WEAPON_OUTLINE (_T("CellRifle"),_T("cell_weap_rifle.png"));
ADD_MAP_WEAPON_OUTLINE (_T("CellPistol"),_T("cell_weap_pistol.png"));
>Как бы оно выглядело без макросов, предоставляю гадать желающим.
Эстеты, разумеется, могут возопить: "Пошто было не вынести всё это в функцию?!" Пото, что функцию (а она потребовалась бы методом) пришлось бы описывать в хедере вместе с классом + имплементировать где-то снаружи текущей функции - весёлое занятие, нечего сказать. Это при том, что данный конкретный кусок кода на момент написания сильномутабелен в плане кол-ва требующихся параметров, и в перспективе мог вообще исчезнуть/слиться с другим. И таких кусков там ~100500. Возможностей, с которыми использование функций для подобного действа не является злобным буратинством, в моём местном С++ пока не наличенствует. А так все релевантные к специфике данного куска пиписьки сконцентрированы в одном месте, умещаются на 1 экран, и я спокоен за возвращение к нему через много времени.
+164
for(int i(0); i<5; i++)
Мне интересно, кто-нибудь так же пишет?
+169
<?php
$xml = simplexml_load_string($xmlstring);
$json = json_encode($xml);
$array = json_decode($json,TRUE);
?>
"Three line xml2array"
http://www.php.net/manual/en/book.simplexml.php#105330
−857
CREATE DOMAIN D_TRIBOOL AS SMALLINT DEFAULT 0 NOT NULL CHECK (VALUE IN (-1,0,1));
Возможно, вопрос о говнокодистости этой строчки является холиварным. Но меня приведённый отрывок по крайней мере немало удивил.
+173
define('style', '<link rel="stylesheet" type="text/css" href="/style.css">');
такого еще не встречал... o_O
+71
if (wdContext.nodeTable().size() <= 5)
wdContext.currentContextElement().setRowsIn(-1);
else
wdContext.currentContextElement().setRowsIn(-1);