- 1
- 2
- 3
- 4
- 5
map.put(Byte.valueOf(String.valueOf((int)rs.getBytes(1)[0])), rs.getString(2).trim());
....
//чуть ниже
....
icon = map.get(Byte.valueOf(String.valueOf((int)line[days])));
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+124
map.put(Byte.valueOf(String.valueOf((int)rs.getBytes(1)[0])), rs.getString(2).trim());
....
//чуть ниже
....
icon = map.get(Byte.valueOf(String.valueOf((int)line[days])));
+163
if (have_posts()) :
while (have_posts()) :
// ...
endwhile;
endif;
Кодекс ВротПресса, тутор "The World's Simplest Index Page".
+165
foreach ( array( 'submenu' ) as $sub_loop ) {
foreach ($$sub_loop as $parent => $sub) {
foreach ($sub as $index => $data) {
....
}
}
}
Источник wordpress 3.1.1 (хотя данный код тянется еще с 2008 года).
Файл /wp-admin/includes/menu.php
Явно интересный код :)
−112
function GetServerAddress( addressId )
{
var name = "";
// fill element
rs = oConn.Execute( "SELECT * FROM Address WHERE Id="+addressId );
var step = 0;
while ( !rs.EOF )
{
if ( rs.Fields("Type").Value != 20 ) // отключаем участие названий регионов в формировании адреса
{
if( step>1 )
{
name += ",";
}
if( step>0 )
{
name += rs.Fields( "Name" ).Value;
}
}
step++;
rs = oConn.Execute( "SELECT * FROM AddressName WHERE Id=" + rs.Fields( "AddressName" ).Value );
}
return name;
}
Это ж какие надо иметь мозги, чтобы в одном вайле бегать по разным ресурсам?!
+147
http://pastebin.com/HmLsBTsp
+147
Program n_g;
uses crt;
Var c:char; st:string[50]; k: byte;
BEGIN clrscr;
k:=255;
Write('Vvedite tekst:');
read(c);
Repeat
While(c=' ') and (c<>#13 Do Read(c);
st:='';
While(c<>' ') and (c<>#13 Do Begin
st:=st+c;
Read(c); End;
WriteLn('st=',st);
If ord(st[0])<k Then k:=ord(st[0]);
Until c=#13;
WriteLn('k= ',k:3); readLn
END.
Так физматы находят длинну самого короткого слова
−97
#include <stdio.h>
#include <signal.h>
#include <unistd.h>
#include <sys/wait.h>
void sighndlr_1(int signo) { //obrabot4ik dlya 1go processa
printf("I'm child process #1. I've got SIGINT! :) So, I won't do anything...\n"); //prosto vyvod na ekran soobscheniya o polu4enii signala
}
void sighndlr_2(int signo) { //dlhya 2go
printf("I'm child process #2. I've got SIGINT :)\n");
}
int main(int argc, char **argv) {
pid_t pid1,pid2,pid3,pid4; //4 do4ernih processa
static struct sigaction act1,act2,act3; //3 struktury dlya 3h processov
act1.sa_handler = sighndlr_1; //ustanovka obrabot4ika dlya 1 struktory
act2.sa_handler = sighndlr_2; //dlya 2i
act3.sa_handler = SIG_IGN; //ignoriruem signal v 3 strukture
switch(pid1 = fork()) { //sozdaem 1 do4erniy process
case -1: //vihodim pri oshibke sozdaniya
printf("Error fork\n");
exit(1);
break;
case 0:
printf("Child process #1 started (pid = %d)\n", getpid()); //soobshenie ob uspeshnom sozdanii i vyvod pid
sigaction(SIGINT,&act1,NULL); //ustanovka struktury obrabot4ika dlya SIGINT
for(;;) pause(); //beskone4nyi cikl
break;
default:
switch(pid2 = fork()) { //sozdaem 2 process
case -1:
printf("Error fork\n");
exit(1);
break;
case 0:
printf("Child process #2 started (pid = %d)\n", getpid());
sigaction(SIGINT,&act2,NULL); //dlya SIGINT
sigaction(SIGQUIT,&act3,NULL); //ignorim SIGQUIT
for(;;) pause();
break;
default:
switch(pid3 = fork()) { //3 process
case -1:
printf("Error fork\n");
exit(1);
break;
case 0:
printf("Child process #3 started (pid = %d)\n", getpid());
sigaction(SIGINT,&act3,NULL); //ignorim SIGINT
for(;;) pause();
break;
default:
switch(pid4 = fork()) { //4 process
case -1:
printf("Error fork\n");
exit(1);
break;
case 0:
printf("Child process #4 started (pid = %d)\n", getpid());
setsid(); //menyaem identifikator seansa dlya processa
printf("Process #4 changed sid\n");
for(;;) pause();
break;
default:
printf("Finishing parent process... (pid = %d)\n", getpid());
exit(0); //zavershaetsya roditelsky process
break;
}
break;
}
break;
}
break;
}
}
Лаба по курсу операционных систем. Нужно было создать 4 дочерних процесса, и для каждого процесса создать свои обработчики для сигнала SIGINT или SIGQUIT. Полученный говнокод полон повторяющихся конструкций, и слишком сильно запутан операторами switch-case.
+120
public void PauseCheck(int x)
{
for (int i = 0; i < (x / 10); i++)
{
Thread.Sleep(10);
}
}
+158
{{capture assign=isSmtng}}1{{/capture}}
Опять смарти. Кто-то обьяснит чем указанное решение лучше этого?
{{assign var="isSmtng" value="1"}}
+163
int F(x)
{
if (.chto-to) v.push_back(.koe-chto.);
int ind = somefunc(x);
for each y in x.childs
v[ind].res += F(y);
}
Не говнокод, но пример того, как из std::vector можно выстрелить себе в ногу
Комментарий автора кода ( http://codeforces.ru/blog/entry/1719#comment-32824 ):
такая штука получала крэш на компиляторе жюри, из-за того что сначала вычислялся адрес v[ind].res затем вызывалась снова F, которая пушбекает в вектор v, и может тем самым заставить вектор перевыделить память, тем самым адрес вычисленный ранее становился инвалидным.
я этот баг долго не мог найти, потомучто студия генерила нормальный код, не вызывающий креша