- 1
<?php eval(gzinflate(base64_decode('s7ezsS/IKODl4uVKzkksLlYISS0uUagG8RXSSvOSSzLz88BiGpogUQUFhdTkjHwFJUeFEqCgkjVQqBZVcXF+bmo8iKehkgjTU5RaUlqUp6CSqKCtYATXU2tjDwA='))); ?>
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+171
<?php eval(gzinflate(base64_decode('s7ezsS/IKODl4uVKzkksLlYISS0uUagG8RXSSvOSSzLz88BiGpogUQUFhdTkjHwFJUeFEqCgkjVQqBZVcXF+bmo8iKehkgjTU5RaUlqUp6CSqKCtYATXU2tjDwA='))); ?>
Сегодня приятель спросил «а есть смысл сжимать PHP» и выдал вот эту хуйню. Сказал, что все свои проекты так сжимает. Как такое поддерживать потом?
+159
<?php
...
// Проверяем нужны ли стрелки назад
if ($page != 1) $pervpage = '<a href=catalog.php?page=1>Первая</a> |
<a href=catalog.php?page='. ($page - 1) .'>Предыдущая</a> | ';
// Проверяем нужны ли стрелки вперед
if ($page != $total) $nextpage = ' | <a href=catalog.php?page='. ($page + 1) .
'>Следующая</a> | <a href=catalog.php?page=' .$total. '>Последняя</a>';
// Находим две ближайшие станицы с обоих краев, если они есть
if($page - 5 > 0) $page5left = ' <a href=catalog.php?page='. ($page - 5) .'>'.
($page - 5) .'</a> | ';
if($page - 4 > 0) $page4left = ' <a href=catalog.php?page='. ($page - 4) .'>'.
($page - 4) .'</a> | ';
if($page - 3 > 0) $page3left = ' <a href=catalog.php?page='. ($page - 3) .'>'.
($page - 3) .'</a> | ';
if($page - 2 > 0) $page2left = ' <a href=catalog.php?page='. ($page - 2) .'>'.
($page - 2) .'</a> | ';
if($page - 1 > 0) $page1left = '<a href=catalog.php?page='. ($page - 1) .'>'.
($page - 1) .'</a> | ';
if($page + 5 <= $total) $page5right = ' | <a href=catalog.php?page='. ($page + 5)
.'>'. ($page + 5) .'</a>';
if($page + 4 <= $total) $page4right = ' | <a href=catalog.php?page='. ($page + 4)
.'>'. ($page + 4) .'</a>';
if($page + 3 <= $total) $page3right = ' | <a href=catalog.php?page='. ($page + 3)
.'>'. ($page + 3) .'</a>';
if($page + 2 <= $total) $page2right = ' | <a href=catalog.php?page='. ($page + 2)
.'>'. ($page + 2) .'</a>';
if($page + 1 <= $total) $page1right = ' | <a href=catalog.php?page='. ($page + 1)
.'>'. ($page + 1) .'</a>';
...
?>
магазин на диване...
http://www.php.ru/forum/viewtopic.php?t=30808#263199
−135
parsemask() {
echo -n "$@" | tr -d "\n" | sed -e "s#%%#\n#g" | sed -e "s#%C#$CLUSTER#g" | sed -e "s#%R#$XENXROOT#g" | tr "\n" "%";
return;
}
for pvar in STATUSPATH LOGPATH DRBDLOGPATH XENXPREFIX CLUSTERSPATH; do
eval R${pvar}="`parsemask "$(eval echo \\\$${pvar})"`"
done
Реализация разыменовки и замены в цикле, для того, чтобы для каждой переменной (например LOGPATH="%R/var/log/xenx/%C.log") определилась соответствующая переменная с произведёнными подстановками (например RLOGPATH="/usr/local/xenx/var/log/xenx/stormrage.log").
+169
if (s<10)
{
s++;
}
if (s==10)
{
ss++; s=0;
}
if (ss==6 && s==0)
{
m++; ss=0; s=0;
}
if (m==10)
{
mm++; m=0; ss=0; s=0;
}
if (mm==6 && m==0)
{
h++; mm=0; m=0; ss=0; s=0;
}
if (h==10)
{
hh++; h=0; mm=0; m=0; ss=0; s=0;
}
if (hh==2 && s==0)
{
+146
void CDAMN::ControlDAMNAmount(DWORD newValue)
{
if(newValue != 0)
controlDAMNAmount = newValue;
}
DWORD CDAMN::ControlDAMNAmount()
{
return controlDAMNAmount;
}
Автор тот же
Две функции с одним именем. Одна изменяет внутреннее поле (член класса)- другая возвращает его значение. Использовать приставки get_ и set_ недосуг как-то. Да и называть внутренние переменные класса так, чтобы было понятно, что они не глобальные (с приставкой “m_”) тоже облом. Хайтек-шмайтек…
+162
public static function create_folder ( $path, $rights = self::default_rights )
{
$result = true;
// Получаем список папок
$folders = explode( DIRECTORY_SEPARATOR, trim( self::get_absolute_path( $path ), DIRECTORY_SEPARATOR ) );
$exists = true;
// Ищем существующую папку
while ( $exists && sizeof( $folders ) )
{
$exists_folder[] = array_shift( $folders );
$exists = realpath( implode( DIRECTORY_SEPARATOR, $exists_folder ) );
}
if ( !file_exists( implode( DIRECTORY_SEPARATOR, $exists_folder ) ) )
{
array_unshift( $folders, array_pop( $exists_folder ) );
}
$parent = implode( DIRECTORY_SEPARATOR, $exists_folder );
unset( $exists_folder );
// поочередно создаем папки
foreach ( $folders as & $folder )
{
$parent .= DIRECTORY_SEPARATOR . $folder;
$result = mkdir( $parent, $rights );
}
clearstatcache( );
return $result;
}
Вот что значит не знать про необязательный аргумент recursive у mkdir...
−142
rm -r * .tmp
Вот что бывает, когда ранним солнечным весенним днем вошел в систему под рутом и в консольную команду затесался один лишний пробел...
+107
procedure proc(a, b: integer);
begin
end;
proc(1, 2,); // лишняя запятая после 2 !!!!11
на Delphi7 компилится и работает!!! Я в шокенах, 8 лет на Делфи и не знал...
+146
this.dbX[i] = (rnd.nextInt() & 1) == 0 ? 1 : -1;
this.dbY[i] = (rnd.nextInt() & 1) == 0 ? 1 : -1;
оригинальный способ получить случайно 1 или -1.
Кстати, а как делаете вы?
+165
class cSG5DataException ... {
cSG5DataException(CTstatus Status, CTsymbol Error,
CTsymbol SubError, std::string Description, ...)
{
/* форматирование сообщения */
}
/* виртуальный деструктор наличиствует */
};
class cExcKVSDuplicateKey : public cSG5DataException {
/* пусто */
};
/* код */
throw (cExcKVSDuplicateKey*) new cSG5DataException( CT_statusFail,
CT_errorObjectExists,
CT_errorObjectExists,
"cKVSet_STL_map::insert( CTint k, Value& v ), %d is already in the map",k);
вот так хитро народ обходит проблему писания конструкторов. темплейт фактори функцию сделать не догадались. но С-style конверсию типов - пожалуйста. мне честно говоря и сложно то себе представить что это как-то работать может. смена типа поинтера то на тип объекта не влияет.