- 1
- 2
- 3
- 4
- 5
- 6
A* arr = new A[size];
std::vector<A*> vec(size);
for(size_t i=0; i<size; ++i)
vec.push_back(&a[i])
// Do something with vec
delete[] arr;
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+144.8
A* arr = new A[size];
std::vector<A*> vec(size);
for(size_t i=0; i<size; ++i)
vec.push_back(&a[i])
// Do something with vec
delete[] arr;
+69.2
List<Measure> meaList = q.getResultList();
try
{
if (meaList.size() == 0)
{
throw new Exception("Measure not found: "+_wsPrice.getMeasureIso());
}
else
{
p.setMeasure(meaList.get(0));
}
}
finally
{
meaList.clear();
}
А вот ещё порция паранойи от моего коллеги
+150.2
$.noConflict();
Гениально!
+170.4
function isarray(obj){
if (obj[0]) {return true} else {
obj.push('Is array!');
return (obj[0] == 'Is array!') ? true : false;
}
}
−119.4
Для й = 1 По КонДата-НачДата+1 Цикл
ТекДата = НачДата+й-1;
ДокТ.ВыбратьДокументы(ТекДата, ТекДата);
Пока ДокТ.ПолучитьДокумент() = 1 Цикл
Копаясь в самописной конфе, с которой сейчас работаю, дописываю, и усердно исправляю чей-то быдлокод, временами нахожу просто уникальные творения.
Пожалуй это творение - вершина извращенной фантазии)
Думаю комментарии излишни)) автор перебирает дни, а потом отдельно по каждому дню делает выборку событий
+91.2
{ Длинная арифметика.
[0] - длина числа
[1..1000] - цифры в системе с основанием 10000, записанные в обратном порядке
}
type TLong = array[0..1000] of integer;
procedure Add(A,B:TLong;var C:TLong);
{Здесь идет процедура сложения в столбик - ничего интересного}
procedure MulByShort(A:TLong;B:integer;var C:TLong); {умножение длинного на короткое}
var i:integer;
begin
initByZero(C);{инициализация C нулями}
for i:=1 to B do Add(C,A,C);
end;
Найдено в решении олимпиадной задачи на FreePascal. Обратите внимание на особо остроумный алгоритм умножения: надо же до такого додуматься. Также интересно, чем мотивирована передача массивов по значению.
+82.8
for (int i = 0; i < list.size(); i++) {
SpecialItem item = list.get(i);
if (item != null) {
item = null;
}
}
list.clear();
Неиндийский способ очистить java.util.List от вместимого.
+137.6
for( unsigned int i = 0; i < strlen(str); i++)
{
if ( str[i] == '-')
{
str[i] = '\0';
break;
}
}
'strlen' в условии цикла - это вычисление инварианта в теле цикла.
Вообще этот цикл реально можно заменить одним вызовом 'strchr'
+160.6
if(isset($_POST['add_st']) && $_POST['add_st'] != false && $_POST['add_st'] != '')
{
if($res=mysql_query("select max(ordering) from category3 where category2=".$cat))
{
$ord=mysql_fetch_row($res);
$order=$ord[0]+1;
}
$_POST['add_st'] - из формы с <input type='submit' name='add_st' value='Сохранить' />
Я уж не говорю, что $order можно было сделать одним запросом
+100.3
function rgbagl(r,g,b,a:gldouble):trgbagl;
var
t:trgbagl;
begin
t.r:=r;
t.g:=g;
t.b:=b;
t.a:=a;
rgbagl:=t;
end;
function trgbaintrgbagl(rgba:trgba):trgbagl;
begin
trgbaintrgbagl.r:=rgba.r/255;
trgbaintrgbagl.g:=rgba.g/255;
trgbaintrgbagl.b:=rgba.b/255;
trgbaintrgbagl.a:=rgba.a/255;
end;
function trgbaglintrgba(rgbagl:trgbagl):trgba;
begin
trgbaglintrgba.r:=trunc(rgbagl.r*255);
trgbaglintrgba.g:=trunc(rgbagl.g*255);
trgbaglintrgba.b:=trunc(rgbagl.b*255);
trgbaglintrgba.a:=trunc(rgbagl.a*255);
end;
function trgbaglelmintrgbaelm(elm:gldouble):byte;
begin
trgbaglelmintrgbaelm:=trunc(elm*255);
end;
function trgbaelmintrgbaglelm(elm:byte):gldouble;
begin
trgbaelmintrgbaglelm:=elm/255;
end;
Вот так вот.