- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
next_int() ->
receive {next_int, N} ->
self() ! {next_int, N + 1},
N
after 0 ->
self() ! {next_int, 0},
0
end.
...
[{A, next_int()}|| A <- SomeList]
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+131
next_int() ->
receive {next_int, N} ->
self() ! {next_int, N + 1},
N
after 0 ->
self() ! {next_int, 0},
0
end.
...
[{A, next_int()}|| A <- SomeList]
Простейший способ пронумеровать элементы списка эрланге. Найдено в продакшне, ошибки сохранены.
+158
$newFilename = strrev(implode('_',explode('_',strrev($basename),-5)));
убирает префикс даты и типа файла
пример:
04_08_2014_5_N_Capture.png
04_08_2014_5_N_My_Capture.png
+83
mEdit.setText(mEdit.getText());
Больше кода => больше бананов.
+73
@Override
public void run()
{
_tracks = parseTracks();
double inc = 100 / _tracks.size();
for(Track track : _tracks)
{
track.save(_savePath);
_progress += inc;
}
_progress = 100;
}
Категория "чтоб наверняка".
+156
foreach($this->_logs as $log)
{
if($log[1]!==CLogger::LEVEL_PROFILE)
continue;
list($message,$level,$category,$timestamp)=$log;
if(!strncasecmp($message,'begin:',6))
{
$log[0]=substr($message,6);
$stack[]=$log;
}
elseif(!strncasecmp($message,'end:',4))
{
$token=substr($message,4);
if(($last=array_pop($stack))!==null && $last[0]===$token)
{
$delta=$log[3]-$last[3];
$this->_timings[]=array($message,$category,$delta);
}
else
throw new CException(Yii::t('yii','CProfileLogRoute found a mismatching code block "{token}". Make sure the calls to Yii::beginProfile() and Yii::endProfile() be properly nested.',
array('{token}'=>$token)));
}
}
Yii 1, реализация профайлинга через лог (ну потому что есть же лог, зачем еще сущности плодить, классы же долго грузятся, а у нас самый лайтвейт фреймворк). Чтобы уж точно наверняка, код дублируется в CProfileLogRoute.
https://github.com/yiisoft/yii/blob/11c3010a82ce2c25332baacce568ff89e451896a/framework/logging/CLogger.php#L294
https://github.com/yiisoft/yii/blob/11c3010a82ce2c25332baacce568ff89e451896a/framework/logging/CProfileLogRoute.php#L137
−93
- facade.registerCommand(<enterprise>Constants.CUT_PUST_TRACKS_COMMAND, CutPustTracksCommand);
+ facade.registerCommand(<enterprise>Constants.CUT_PUST_TRACKS_COMMAND, CutPasteTracksCommand);
Ну, почти.
+161
if ($cat != '0' && $cat != '1' && $cat != '2') {$cat = '3';}
Вот такой вот вывод =)
+56
if(i%2==0)
{
for(j=int (l);j<n+int (l);j++)
{
A[i][j]=B1[k];
k++;
}
}
else if(i%2!=0)
{
for(j=int (l);j<n+int (l);j++)
{
A[i][j]=B2[k];
k++;
}
}
Когда-то один однокурсник спросил у препода:
- А как добавить код в ИНАЧЕ от ИНАЧЕ.
Что-то подобное увидел и в этом коде.
+135
int log2_floor (unsigned x)
{
#define NIMHTNOE0WNM(n) (((~(x>>n)+1)>>n)&n)
int res, n;
n = NIMHTNOE0WNM(16); res = n; x >>= n;
n = NIMHTNOE0WNM( 8); res |= n; x >>= n;
n = NIMHTNOE0WNM( 4); res |= n; x >>= n;
n = NIMHTNOE0WNM( 2); res |= n; x >>= n;
n = NIMHTNOE0WNM( 1); res |= n;
return res;
}
Кто-то Воррена перечитал.
+149
var_dump(0); // int(0), OK
var_dump(0x0); // int(0), OK
var_dump(00); // int(0), OK
var_dump(0.0); // double(0), OK
var_dump(0.0e1); // double(0), OK
var_dump(0e1); // double(0), WTF?
PHP воспринимает экспоненциальную нотацию как double, будьте начеку