- 1
/^[a|b|c|d|e|f|g|h|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z|@|\.|-]*$/gim
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+180
/^[a|b|c|d|e|f|g|h|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z|@|\.|-]*$/gim
Проверка валидности E-Mail от местного умельца.
+74
private void StreamToBytes()throws Exception
{
int i;
InputStream in=getStream();
ArrayList<Integer> byt=new ArrayList<Integer>();
while((i=in.read())!=-1)
{
byt.add(i);
}
in.close();
b=new byte[byt.size()];
for(int j=0;j<b.length;j++)
{
b[j]=byt.get(j).byteValue();
}
}
−92
def get_next_line(max_level, current_level, current_line_items)
next_line_items = []
result_string = ''
if current_level == 1
next_line_items.push(1)
result_string = "1\n"
else
current_line_number = false
current_line_number_count = 0
current_index = 0
current_line_items.each do |line_number|
if current_index == 0
current_line_number = line_number
current_line_number_count = 1
else
if line_number == current_line_number
current_line_number_count = current_line_number_count + 1
else
next_line_items.push(current_line_number_count)
next_line_items.push(current_line_number)
current_line_number_count = 1
current_line_number = line_number
end
end
if current_index >= current_line_items.length - 1
next_line_items.push(current_line_number_count)
next_line_items.push(current_line_number)
end
current_index = current_index + 1
end
result_string = next_line_items.join(' ') + "\n"
end
if current_level < max_level
result_string = result_string + get_next_line(max_level, current_level + 1, next_line_items).to_s
end
# return result
result_string
end
puts 'Input max level:'
level = gets
puts ''
puts get_next_line(level.to_i, 1, [])
реальное тестовое задание кандитата.
задача - вывести несколько членов последовательности
1
11
21
1211
....
+158
if ($('#block').is(':hidden')) {
$('#block').toggle();
}
+135
void init(void)
{
int i,j;
setup();
if (!fork())
_exit(execve("/bin/update",NULL,NULL));
(void) open("/dev/tty0",O_RDWR,0);
(void) dup(0);
(void) dup(0);
printf("%d buffers = %d bytes buffer space\n\r",NR_BUFFERS,
NR_BUFFERS*BLOCK_SIZE);
printf(" Ok.\n\r");
if ((i=fork())<0)
printf("Fork failed in init\r\n");
else if (!i) {
close(0);close(1);close(2);
setsid();
(void) open("/dev/tty0",O_RDWR,0);
(void) dup(0);
(void) dup(0);
_exit(execve("/bin/sh",argv,envp));
}
j=wait(&i);
printf("child %d died with code %04x\n",j,i);
sync();
_exit(0); /* NOTE! _exit, not exit() */
}
Говно, вошедшее в историю.
+73
private static final double[][][] charsets = {{
{1, 2, 3, 4},
// 30 lines of a 3-dimentional array (4x9x3) declaration skipped
}}
// Later on
double dx = charsets[order[n[0]][i - 1]][n[i]][j];
Ну что тут еще скажешь... Legacy code forever!
−862
-- находим текущий месяц
FOR rec IN
SELECT date_part ('month', now()) as ma, date_part ('year', now()) as ya
LOOP
m1 = rec.ma-1;
IF m1=0 THEN m1=12; END IF;
Y1 = rec.ya;
IF m1=12 THEN Y1 = rec.ya - 1; END IF;
END LOOP;
FOR rec IN
SELECT count(v.partner_id) as cnt
FROM v, a where v.id=a.id and period like '%'||m1||'-'||Y1||' по%' and accepted = 1 and active=1
LOOP
-- вырезано
-- а десятком строк ниже
-- находим предыдущие 3 месяца
m2 = m1 - 1;
IF m2 = 0 THEN m2 = 12; END IF;
IF m1<m2 THEN Y2 = Y1 - 1; ELSE Y2 = Y1; END IF;
m3 = m2 - 1;
IF m3 = 0 THEN m3 = 12; END IF;
IF m2<m3 THEN Y3 = Y2 - 1; ELSE Y3 = Y2; END IF;
m4 = m3 - 1;
IF m4 = 0 THEN m4 = 12; END IF;
IF m3<m4 THEN Y4 = Y3 - 1; ELSE Y4 = Y3; END IF;
из кода доставшегося по наследству.
вот так вот видимо модно проводить поиск по дате
комментерии добавлены при выкладывании сюда
+68
def InvoicedExtra(JobExtra extra) {
type = extra.type
clientPrice = extra.price ?: ZERO
vatPrice = (extra.type.vatBand?.band ?: 0) * extra.price / 100
grossPrice = vatPrice ?: ZERO + clientPrice ?: ZERO
}
Мой код на Groovy. Обратите внимание на строку 5. Это типа хитрый способ суммирования который не бросает NullPointerException. Однако не учтены приоритеты операторов. Оцените красоту выстрела в ногу =)
+1001
struct Dir {
Dir(const char* name) {
d = opendir("/var/log");
}
~Dir();
const char* next();
bool operator== (DIR* other);
private:
DIR* d;
};
...
Dir var_log("/var/log");
+141
for (int x=0; x < TANK_SIZE; x++)
{
for (int y=0; y < TANK_SIZE; y++)
{
*((Uint32 *)(((Uint8 *)player_surface[DOWN]->pixels) + (TANK_SIZE - y - 1) * player_surface[DOWN]->pitch + (TANK_SIZE - x - 1) * player_surface[DOWN]->format->BytesPerPixel)) = *((Uint32 *)(((Uint8 *)player_surface[LEFT]->pixels) + (TANK_SIZE - x - 1) * player_surface[LEFT]->pitch + y * player_surface[LEFT]->format->BytesPerPixel)) = *((Uint32 *)(((Uint8 *)player_surface[RIGHT]->pixels) + x * player_surface[RIGHT]->pitch + (TANK_SIZE - y - 1) * player_surface[RIGHT]->format->BytesPerPixel)) = *((Uint32 *)(((Uint8 *)player_surface[UP]->pixels) + y * player_surface[UP]->pitch + x * player_surface[UP]->format->BytesPerPixel));
*((Uint32 *)(((Uint8 *)enemy_surface[DOWN]->pixels) + (TANK_SIZE - y - 1) * enemy_surface[DOWN]->pitch + (TANK_SIZE - x - 1) * enemy_surface[DOWN]->format->BytesPerPixel)) = *((Uint32 *)(((Uint8 *)enemy_surface[LEFT]->pixels) + (TANK_SIZE - x - 1) * enemy_surface[LEFT]->pitch + y * enemy_surface[LEFT]->format->BytesPerPixel)) = *((Uint32 *)(((Uint8 *)enemy_surface[RIGHT]->pixels) + x * enemy_surface[RIGHT]->pitch + (TANK_SIZE - y - 1) * enemy_surface[RIGHT]->format->BytesPerPixel)) = *((Uint32 *)(((Uint8 *)enemy_surface[UP]->pixels) + y * enemy_surface[UP]->pitch + x * enemy_surface[UP]->format->BytesPerPixel));
}
}