- 1
http://www.youtube.com/watch?v=vSp1Qc11tsM
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+153
http://www.youtube.com/watch?v=vSp1Qc11tsM
Сегодня я вам открою глаза, в поведении окружающих людей есть какой-то говнокод в ДНК. Они все ведут себя совершенно не нормально. (Демонстрация доступна по ссылке). С ними что-то не так. Мы с вами должны решить, как это исправить. Самое время выпустить патч к ДНК людей.
Самым простым способом является разработка биологического вируса, который будет внедрятся в ДНК клеток людей и патчить их в автоматическом режиме.
Объединим все силы. Так мы спасём весь мир. Потомки нас поблагодарят и никогда не забудут.
AnimeGovno-_-
Пароль: ag
lucidfoxGovno
Пароль: lg или lf
+155
$(".rent_table._rent_list tbody input").each(function() {
$(this).attr("checked", "checked");
});
$(".rent_table._rent_list tbody input"). attr("checked", "checked");
PEOPLE WHY Y NO RTFM?
PS этот each отрабатывался на сотне inputов, чем вешал ie6
+128
public class BusinessUnitDetail
{
public string Description { get; set; }
}
...
[TestMethod]
public void DescriptionTest()
{
BusinessUnitDetail target = new BusinessUnitDetail();
string expected = "test test test\n test";
string actual;
target.Description = expected;
actual = target.Description;
Assert.AreEqual(expected, actual);
}
беспощадная проверка всего и вся
+147
public int blablabla(){
...
if(true)return;
...
}
Коллега поделился найденным в проекте... кто-то вместо того чтоб закомментить десяток строк кода так вот вышел из метода.
+102
const n = 50;
type vec = array [1..n*4] of system.word;
function vprod(const a, b: vec): Cardinal;
var i: longInt;
begin
result := 0;
for i := 1 to high(vec) do inc(result, a[i] * b[i]);
end;
function vprod_asm1(const a, b: vec): Cardinal; assembler;
asm
push ebx
push ecx
push edx
push esi
push edi
xor ebx, ebx
mov ecx, n*4
mov esi, a
mov edi, b
xor eax, eax
cld
@@l:
mov ax, word ptr [esi]
lea esi, [esi+2]
mul word ptr [edi]
lea edi, [edi+2]
shl edx, 16
mov dx, ax
add ebx, edx
dec ecx
jne @@l
mov eax, ebx
pop edi
pop esi
pop edx
pop ecx
pop ebx
end;
function vprod_asm2(const a, b: vec): Cardinal; assembler;
asm
push ebx
push ecx
push edx
push esi
push edi
xor ebx, ebx
mov ecx, n*4
mov esi, a
mov edi, b
xor eax, eax
cld
@@l:
lodsw
movzx edx, WORD PTR [edi]
imul edx
lea edi, [edi+2]
add ebx, eax
loop @@l
mov eax, ebx
pop edi
pop esi
pop edx
pop ecx
pop ebx
end;
function vprod_mmx (const a, b: vec): Cardinal; assembler;
var muls: record l, h: Cardinal end;
asm
push ebx
push ecx
push esi
push edi
mov ecx, n
mov esi, a
mov edi, b
xor eax, eax
lea ebx, muls
@@l:
db $0F,$6F,$06 // movq mm0, [esi]
db $0F,$F5,$07 // pmaddwd mm0, [edi]
lea esi, [esi+8]
db $0F,$7F,$03 // movq [ebx], mm0
lea edi, [edi+8]
add eax, [ebx]
add eax, [ebx+4]
loop @@l
db $0F,$77 // emms
pop edi
pop esi
pop ecx
pop ebx
end;
По просьбам трудящихся публикую модифицированную версию примера MMXTEST.PAS из комплекта компилятора TMT Pascal. Программа находит скалярное произведение двух векторов. Далее должен быть основной блок с фрагментами типа for i := 1 to 100000 do vprod(a, b); , которые я не стал публиковать ввиду ограничений. Функция vprod_asm1 — почти оригинальный код TMT, функция vprod_asm2 — мой оптимизированный вариант. Результаты запуска на двух машинах (таймер получал по RDTSC):
AMD K6-2-333 МГц, FSB 66 МГц.
Delphi7:
Pascal = 0.550 sec.
Asm x86 (original) = 1.034 sec.
Asm x86 (optimized) = 0.490 sec.
Asm MMX = 0.130 sec.
С директивой $O- первый результат 0.853 sec.
Замена loop на dec ecx + jne увеличивает результаты на 0,015 c.
FPC:
Pascal = 1.387 sec.
Asm x86 (original) = 1.199 sec.
Asm x86 (optimized) = 0.510 sec.
Asm MMX = 0.124 sec.
TMT:
Pascal = 0.914 sec.
Asm x86 (original) = 1.037 sec.
Asm x86 (optimized) = 0.494 sec.
Asm MMX = 0.126 sec.
VP:
Pascal = 0.520 sec.
Asm x86 (original) = 1.033 sec.
Asm x86 (optimized) = 0.493 sec.
Asm MMX = 0.146 sec.
С директивами $Q+,R+ первый результат 1.032 sec.
С директивой $Speed- первый результат 0.731 sec.
------------------------------
Celeron 1,86 ГГц, FSB 533 МГц.
Delphi7:
Pascal = 0.025 sec.
Asm x86 (original) = 0.091 sec.
Asm x86 (optimized) = 0.082 sec.
Asm MMX = 0.044 sec.
TMT:
Pascal = 0.109 sec.
Asm x86 (original) = 0.087 sec.
Asm x86 (optimized) = 0.079 sec.
Asm MMX = 0.042 sec.
−180
my $success=0;
my $error=0;
...
my $result_mail=MailUtils::attach_mail(-to=>$share_email,-message=>$message,-subject=>'Новый рецепт',-src_enc => $Cfg::encoding,-attach=>\@att) or die 'no';
unlink($file) if $result_mail;
$error=1 if !$result_mail;
$success=1 if $error==0;
print CGI::redirect($Cfg::url{root}."/woman/recipes/share/?success=$success&error=$error");
Используем две переменных для статуса, видимо, для надёжности
+73
int[] indexes = list.getSelectedIndices();
if (indexes.length == 0) {
indexes = getAllIndexes();
}
if (indexes.length == 0) {
return false;
}
индуссы атакуют
+180
http://i.imgur.com/K9ZM6.png
А вот и сам гет.
+183
if (is_file('img/maps/'.$user_id.'.jpg'))
{
$photo = 1;
} elseif(!is_file('img/maps/'.$user_id.'.jpg')) {
$photo = 0;
} else {
$photo = 0;
}
кто сказал что третьего не дано?))))
+170
$q = mysql_query("SELECT * FROM ".$prefix."_users WHERE id='$user_id'");
$org = mysql_result($q,0,"org");
$orginfo = mysql_result($q,0,"orginfo");
$orgsite = mysql_result($q,0,"orgsite");
$orgaddr = mysql_result($q,0,"orgaddr");
$orgcity = mysql_result($q,0,"orgcity");
$orgname = mysql_result($q,0,"orgname");
$sendme = mysql_result($q,0,"sendme");
$news_sendme = mysql_result($q,0,"news_sendme");
$arend = mysql_result($q,0,"arend");
$seller = mysql_result($q,0,"seller");
$manufacter = mysql_result($q,0,"manufacter");
$bank = mysql_result($q,0,"bank");
$leasing = mysql_result($q,0,"leasing");
$a_bus = mysql_result($q,0,"a_bus");
$a_gruz = mysql_result($q,0,"a_gruz");
$a_prec = mysql_result($q,0,"a_prec");
$a_po_prec = mysql_result($q,0,"a_po_prec");
$a_sr_tg = mysql_result($q,0,"a_sr_tg");
...
В бесконечность и далее!!!