- 1
implode("','", array('product_gems'))
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+148
implode("','", array('product_gems'))
почему бы не заменить такое просто строкой...
guest 29.03.2010 16:32 # −0.2
leprosus 29.03.2010 21:06 # +0.8
По одной строчке трудно определить цвет кода...
Dreyk 29.03.2010 22:53 # +0.8
без контекста не понятно
guest 30.03.2010 18:56 # −0.2
mrbig66 31.03.2010 09:44 # 0
leprosus 31.03.2010 15:28 # 0
darkmyan 31.03.2010 15:40 # +1
$res = db_query(db_rewrite_sql("SELECT n.nid FROM {node} n LEFT JOIN {content_type_product_gems} p ON p.nid=n.nid WHERE n.type IN ('". implode("','", array('product_gems')) ."') ORDER BY p.field_gems_qty_value ASC"));
leprosus 31.03.2010 17:08 # −1
PS: и ещё можно осветить инициализацию array('product_gems') ...
darkmyan 31.03.2010 17:13 # −0.8
$res = db_query(db_rewrite_sql("SELECT n.nid FROM {node} n LEFT JOIN {content_type_product_gems} p ON p.nid=n.nid WHERE n.type = 'product_gems' ORDER BY p.field_gems_qty_value ASC"));
leprosus 31.03.2010 23:07 # +1
Сорри
Думаю, что автор кода тупо копировал запросы от скрипта к скрипту и не всё вычистил.
Да - косяк, говнокод - ну если маленький.
Все ошибаются по-мелочам, но это не повод их постить.
Если сюда писать весь маленький говнокодек, то проект обогатеет как рекламная площадка, а посетители завязнут и станет скучно.
leprosus 31.03.2010 23:14 # −1
Код одного анализируемого проекта:
function fac_getTextOfThePage($text,$spacesPerPag e,$pageNum,$url) {
$text=trim($text);
if($pageNum>1) {
$cntr=0;
$pos=0;
$strlen=strlen($text);
while($cntr<$spacesPerPage*($pageNum-1) && $pos+1<$strlen-1) {
$curpos=strpos($text," ",$pos+1);
if(!$curpos) {
$tillTheEnd=true;
break;
}
else {
$cntr++;
$pos=$curpos;
}
}
if(!$pos) $pos=0;
}
else $pos=0;
$text=trim(substr($text,$pos));
$strlen=strlen($text);
$cntr=0;
$pos=0;
$tillTheEnd=false;
while($cntr<$spacesPerPage && $pos+1<$strlen-1) {
$curpos=strpos($text," ",$pos+1);
if(!$curpos) {
$tillTheEnd=true;
break;
}
else {
$cntr++;
$pos=$curpos;
}
}
if($pos!=false) $end_pos=$pos;
else $end_pos=0;
if(!$tillTheEnd) $text=trim(substr($text,0,$end_pos)); //.' <a href="'.$url.'"><b>Далее</b></a>';
return $text;
}
********************************
Далее у проекта была переработка:
function getContent($content, $curPage, $spacesPerPage) {
$from = ($curPage - 1) * $spacesPerPage;
$till = $curPage * $spacesPerPage;
$position = $counter = $start = $end = 0;
while($counter++ < $from && ($start = $position = strpos($content, " ", $position + 1)));
while($counter++ <= $till && ($end = $position = strpos($content, " ", $position + 1)));
return substr($content, $start, $end - $start);
}
********************************
Работа обоих алгоритмов идентична!
Первичный код тоже говнокодик!
Конечно больше, чем в одну строчку, но я его не пытаюсь постить.
Так как посетителям тупо будет неинтересно.
mrbig66 01.04.2010 10:12 # 0
[ code ] [ / code ]