- 1
#define ISODD( i ) ( (((i) % 2) == 0) ? 0 : 1 )
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+145
#define ISODD( i ) ( (((i) % 2) == 0) ? 0 : 1 )
Особо выдающимся китайцам платят не построчно, а посимвольно.
+133
<script id="tpl_top" type="text/html" style="display: none;"><a name="comment_<%= row.id %>"></a>
<table cellspacing="0" id="comment-cnt_<%= row.id %>" class="<%= row.tableClass %>">
<tr>
<% if (row.side === 2) { %>
<td width="5" class="transp_td"><div class="spacer"></div></td>
<% } %>
<td width="5" height="5" class="ug_1">
<div class="spacer"></div>
</td>
<td><div class="spacer"></div></td>
<td width="5" class="ug_2"><div class="spacer"></div></td>
<% if (row.side === 1) { %>
<td width="5" class="transp_td"><div class="spacer"></div></td>
<% } %>
</tr>
Фрагмент из http://holywars.ru/
Не могу определить, что за скрипт такой text/html, поэтому поместил в Кучу.
Если я туплю, поставьте 11 минусов за ламерство, и этот ГК исчезнет.
+145
<?php
$names = array("Иван","Петр","Семен");
if ($names[0]=="Иван"):
?>
<?php
Привет, Ваня!
endif; ?>
Вот такому коду учат на intuit.ru
+151
// пример 1
a) $query = "SELECT id,text_name,textarea_desc,img_photo,date_reg FROM {$prefix2}_{$module} WHERE id='$id' AND check_active=1 ORDER BY $order LIMIT $limit";
или же
b) $query = "SELECT id,text_name,textarea_desc,img_photo,date_reg FROM ".$prefix2."_".$module." WHERE id='".$id."' AND check_active=1 ORDER BY ".$order." LIMIT ".$limit;
// пример 2
c) $query = "INSERT INTO {$prefix2}_{$module} SET text_name='$name',date_add=NOW(),text_fio='$fio' WHERE id='$id'";
или же
d) $query = "INSERT INTO ".$prefix2."_".$module." SET text_name='".$name."',date_add=NOW(),text_fio='".$fio."' WHERE id='".$id."'";
Как-то некий посетитель этого сайта назвал a и с -- говнокодом. Интересно узнать Ваше мнение по этому поводу.
Желательно услышать хоть какую-то аргументацию, вместо пресловутых трольских комментов ))
Все переменные перед использованием естественно приведены к безопастному виду.
Ни о каких инъекций речь просьба не поднимать...
+1
// https://github.com/mailru/confetti/blob/63ed82c65a7fbcd2baf8a67f1b7410e044dfd1dd/h_dump.c#L44
static void
dumpParamDef(FILE *fh, char* name, ParamDef *def) {
dumpComment(fh, def, 1);
switch(def->paramType) {
case int32Type:
fprintf(fh, "\tint32_t\t%s;\n", def->name);
break;
case uint32Type:
fprintf(fh, "\tu_int32_t\t%s;\n", def->name);
break;
case int64Type:
fprintf(fh, "\tint64_t\t%s;\n", def->name);
break;
case uint64Type:
fprintf(fh, "\tu_int64_t\t%s;\n", def->name);
break;
case doubleType:
fprintf(fh, "\tdouble\t%s;\n", def->name);
break;
case stringType:
fprintf(fh, "\tchar*\t%s;\n", def->name);
break;
case boolType:
fprintf(fh, "\tconfetti_bool_t\t%s;\n", def->name);
break;
case commentType:
fprintf(stderr, "Unexpected comment");
break;
case structType:
fprintf(fh, "\t%s", name);
dumpStructName(fh, def->paramValue.structval, "_");
fprintf(fh, "*\t%s;\n", def->name);
break;
case arrayType:
fprintf(fh, "\t%s", name);
dumpStructName(fh, def->paramValue.arrayval->paramValue.structval, "_");
fprintf(fh, "**\t%s;\n", def->name);
break;
case builtinType:
break;
default:
fprintf(stderr,"Unknown paramType (%d)\n", def->paramType);
exit(1);
}
}
Какое же говно эта ваша сишка. А в крестоговне эта задача легко и элегантно решается, правда ведь?
+1
function main() {
let { aa, bb } = { aa: 10, bb: 20 };
print(aa + bb);
let {
aa,
bb: { q, r },
} = { aa: 10, bb: { q: 1, r: 2 } };
assert(aa == 10, "{}");
assert(q == 1, "{}");
assert(r == 2, "{}");
let { x, y } = new ObjF(1, "foo");
assert(x == 1, "{}");
assert(y == "foo", "{}");
print("done.");
}
Добрый вечер дорогие неопределившиеся... или заблудшие... вот я тут вам новую фичу притарабанил .. называет деконстракт :)
−103
2 ноября собираемся в Севастополе!
Пусть нерусь всякая к своим литвинам едет!
+1
#include <stdio.h>
int main(void)
{
int a = a;
printf("%d", a);
return 0;
}
Убрал ворнинг. Проверь.
https://tio.run/##S9ZNT07@/185My85pzQlVcGmuCQlM18vw46LKzOvRCE3MTNPoyw/M0WTq5pLAQhAgokKtgqJ1mBuQRFQIE1DSTVFSUchURMiWJRaUlqUp2BgzVXL9f//v@S0nMT04v@64Yk5OQA
+1
// https://github.com/CVC4/CVC4/blob/14b9dbaa0c9e8dce52d1a28595dc1cc80756abed/src/expr/pickler.cpp
static Block mkBlockBody4Chars(char a, char b, char c, char d) {
Block newBody;
newBody.d_body.d_data = (a << 24) | (b << 16) | (c << 8) | d;
return newBody;
}
static char getCharBlockBody(BlockBody body, int i) {
Assert(0 <= i && i <= 3);
switch(i) {
case 0: return (body.d_data & 0xff000000) >> 24;
case 1: return (body.d_data & 0x00ff0000) >> 16;
case 2: return (body.d_data & 0x0000ff00) >> 8;
case 3: return (body.d_data & 0x000000ff);
default:
Unreachable();
}
return '\0';
}
// ...
void PicklerPrivate::toCaseString(Kind k, const std::string& s) {
d_current << mkConstantHeader(k, s.size());
unsigned size = s.size();
unsigned i;
for(i = 0; i + 4 <= size; i += 4) {
d_current << mkBlockBody4Chars(s[i + 0], s[i + 1],s[i + 2], s[i + 3]);
}
switch(size % 4) {
case 0: break;
case 1: d_current << mkBlockBody4Chars(s[i + 0], '\0','\0', '\0'); break;
case 2: d_current << mkBlockBody4Chars(s[i + 0], s[i + 1], '\0', '\0'); break;
case 3: d_current << mkBlockBody4Chars(s[i + 0], s[i + 1],s[i + 2], '\0'); break;
default:
Unreachable();
}
}
Очередное переизобретение какой-то байтоебской поеботы типа ntohl(). И вообще, тут UB.
+2
/*
x86-64 clang (trunk) -O3
https://godbolt.org/z/t8NDGG
#include <inttypes.h>
uint32_t saturation_add(uint32_t a, uint32_t b)
{
const uint64_t tmp = (uint64_t)a + b;
if (tmp > UINT32_MAX)
{
return UINT32_MAX;
}
return tmp;
}
*/
saturation_add:
mov edx, esi
mov eax, edi
add edi, esi
add rax, rdx
mov edx, 4294967295
cmp rax, rdx
mov eax, -1 // ЗАЧЕМ???
cmovbe eax, edi
ret
https://en.wikipedia.org/wiki/Saturation_arithmetic
Почему компиляторы до сих пор такое говно