- 1
- 2
- 3
- 4
- 5
template<class T>
bool IsAligned(T SizeOrAddress, const size_t AlignStep)
{
return SizeOrAddress==Align(SizeOrAddress, AlignStep);
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+5
template<class T>
bool IsAligned(T SizeOrAddress, const size_t AlignStep)
{
return SizeOrAddress==Align(SizeOrAddress, AlignStep);
}
+12
if(maxbits<3) x = genrand64_int64() & genrand64_int64() & genrand64_int64() & genrand64_int64() & genrand64_int64();
else
{
if(maxbits<6) x = genrand64_int64() & genrand64_int64() & genrand64_int64() & genrand64_int64();
else x = genrand64_int64() & genrand64_int64() & genrand64_int64();
}
+137
#define FMT_2_LEN 16
#define FMT_4_LEN 24
// и т.д. всего около десятка форматов
void calc_check_code(const unsigned char * from, unsigned fmt, unsigned * code)
{
switch (fmt) {
case 2:
//...
memset(data, 0, sizeof(FMT_2_LEN));
// выборочное наполнение data из from
make_code(data, FMT_2_LEN, code);
break;
case 4:
//...
memset(data, 0, sizeof(FMT_4_LEN));
// выборочное наполнение data из from
make_code(data, FMT_2_LEN, code);
break;
// для всех остальных аналогично
}
странно, и почему контрольный код не совпадает с эталонными примерами...
+135
public TOscillPanel getOscillPanel(String nameTable, XmlNodeList parameters, String idCHPU)
{
var actions=new Dictionary<string, object>
{
{"addParamOscill", new Action<string, string>(addParamOscill)},
{"removeParamOscill", new Action<string, string>(removeParamOscill)},
{"includeRealTimeMode",new Action<string>(includeRealTimeMode)}
};
return (new TOscillPanel(nameTable, parameters, actions));
}
//...
((Action<String, String>)_actions["addParamOscill"])(_tableChpu, ((TOptionNode)_oscillTreeView.Nodes[0]).getId());
((Action<String, String>)_actions["addParamOscill"])(_tableChpu, idParameters);
}
else
{
((Action<String, String>)_actions["removeParamOscill"])(_tableChpu, ((TOptionNode)_oscillTreeView.Nodes[0]).getId());
((Action<String, String>)_actions["removeParamOscill"])(_tableChpu, idParameters);
}
Это практически единственные и основные упоминания в коде контейнера _actions.
Говорила же мне мама: "возьми динамически типизированный язык", а я её не слушал. Не мне конечно же. Код из очень крупного частного проекта.
Динамически типизированный язык тут конечно же не нужен. Просто создаем трудности, а потом стоически их решаем.
+142
<?php
switch(1==1) {
case true;
// ...
break;
case false;
// ...
break;
}
?>
Аналог конструкции if-else...
+65
$needDied = $this->battle_data['type'] == 104 ? true : false;
+50
// $conn - mysqli_object
$query = "insert into orders values
('0', '".$customerid."', '".$_SESSION['total_price']."',
'".$date."', '".PARTIAL."', '".$ship_name."',
'".$ship_address."', '".$ship_city."',
'".$ship_state."', '".$ship_zip."',
'".$ship_phone."', '".$ship_mail."')";
$result = $conn->query($query) ;
if (!$result) {
return false;
}
//amount - float
$query = "select orderid from orders where
customerid = '".$customerid."' and
amount > (".$_SESSION['total_price']."-.001) and
amount < (".$_SESSION['total_price']."+.001) and
date = '".$date."' and
order_status = 'PARTIAL' and
ship_name = '".$ship_name."' and
ship_address = '".$ship_address."' and
ship_city = '".$ship_city."' and
ship_state = '".$ship_state."' and
ship_zip = '".$ship_zip."' and
ship_country = '".$ship_country."'";
$result = $conn->query($query);
if ($result->num_rows > 0) {
$order = $result->fetch_object();
$orderid = $order->orderid;
} else {
return false;
}
Источник: Люк Веллинг и Лора Томсон: Разработка веб-приложений с помощью PHP и MySQL(4 издание стр 594)
Как выдрать last_insert_id? Очень просто: нужно составить запрос на select вставленного orderid с указанием всех вставленных значений в поля, а для флоата указать на всякий случай интервал, и только тогда можно из выборки извлечь вставленный id
ps: констатна PARTIAL нигде не задаётся=)
−35
// For the probably_koi8_locales we have to look. the standard says
// these are 8859-5, but almost all Russian users use KOI8-R and
// incorrectly set $LANG to ru_RU. We'll check tolower() to see what
// it thinks ru_RU means.
// If you read the history, it seems that many Russians blame ISO and
// Perestroika for the confusion.
...
static QTextCodec * ru_RU_hack(const char * i) {
QTextCodec * ru_RU_codec = 0;
#if !defined(QT_NO_SETLOCALE)
QByteArray origlocale(setlocale(LC_CTYPE, i));
#else
QByteArray origlocale(i);
#endif
// unicode koi8r latin5 name
// 0x044E 0xC0 0xEE CYRILLIC SMALL LETTER YU
// 0x042E 0xE0 0xCE CYRILLIC CAPITAL LETTER YU
int latin5 = tolower(0xCE);
int koi8r = tolower(0xE0);
if (koi8r == 0xC0 && latin5 != 0xEE) {
ru_RU_codec = QTextCodec::codecForName("KOI8-R");
} else if (koi8r != 0xC0 && latin5 == 0xEE) {
ru_RU_codec = QTextCodec::codecForName("ISO 8859-5");
} else {
// something else again... let's assume... *throws dice*
ru_RU_codec = QTextCodec::codecForName("KOI8-R");
qWarning("QTextCodec: Using KOI8-R, probe failed (%02x %02x %s)",
koi8r, latin5, i);
}
#if !defined(QT_NO_SETLOCALE)
setlocale(LC_CTYPE, origlocale);
#endif
return ru_RU_codec;
}
Снова Qt. На этот раз src/corelib/codecs/qtextcodec.cpp и борьба бобра с ослом русских с буржуинскими стандартами ISO.
+108
public sbyte GetSByte(int i)
{
IMySqlValue v = GetFieldValue(i, false);
if (v is MySqlByte)
return ((MySqlByte)v).Value;
return ((MySqlByte)v).Value;
}
Вытащил это "чудо" когда ковырялся в сырцах MySQL .NET Connector-а
+127
static char[] decToBin(int n)
{
byte size = sizeof(int) * 8;
char[] result = new char[size];
for (int i = 0; i < size; i++)
{
result[size - i - 1] = (((n >> i) & 1).ToString().ToCharArray()[0]);
}
return result;
}
Плохо пахнущий транслятор непосредственно в дополнительный код.