- 1
return lib.formatters.__dict__[id].format(txt)
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−184.6
return lib.formatters.__dict__[id].format(txt)
Мы же не ищем легких путей, правда? В модуле formatters определен словарь, к которому мы таким образом обращаемся.
−111.2
# куски кода выдернуты
# смотрите внимательно на SQL
#--- INSERT ------
my $comment_id = $ej->{dbh}->insert('blog.comments', (
'id::primary' => '',
'post_id::numeric' => $param_id,
'user_id::numeric' => $ej->{user}{id},
'text' => $newmess,
'time::numeric' => $ej->{time},
'rating_ball::numeric' => $rating_ball
));
my $_rating_ball = 0 + $ej->Query ('SELECT SUM(rating_ball) FROM blog.comments WHERE post_id = '.$param_id)->FetchRow;
$ej->Query(
'UPDATE blog.posts SET update_time = '.$ej->{time}.', rating_ball = '.$_rating_ball.', '.
'comments_ptr = CONCAT('.Q(pack('L', $comment_id)).', comments_ptr) WHERE id = '.$param_id
);
#--- DELETE ---
$ej->Query('DELETE FROM blog.comments WHERE id = '.$comment_id);
my $comments_ptr = pack('L*', $ej->Query('SELECT id FROM blog.comments WHERE post_id = '.$post_id.' ORDER BY time DESC')->FetchCol);
my $_rating_ball = 0 + $ej->Query ('SELECT SUM(rating_ball) FROM blog.comments WHERE post_id = '.$post_id)->FetchRow;
$ej->Query('UPDATE blog.posts SET comments_ptr = '.Q($comments_ptr).', rating_ball = '.$_rating_ball.' WHERE id = '.$post_id);
#--- SELECT ----
my %q = $ej->Query('SELECT user_id, topic_id, name, text, SUBSTRING(comments_ptr, '.(1+($page-1)*40).',40) AS ptr, round(length(comments_ptr) / 4) AS cnt, create_time, pics_ptr, rating_ball FROM blog.posts WHERE id = '.$param_id)->FetchHash;
my @id = (); my @user_id = (); my @text = (); my @time = ();
if ($q{ptr} ne '') {
my $r = $ej->Query('SELECT id, user_id, text, time FROM blog.comments WHERE id IN ('.join(',',unpack('L*', $q{ptr})).') ORDER BY time DESC');
@id = $r->FetchCol;
@user_id = $r->FetchCol(1);
@text = $r->FetchCol(2);
@time = $r->FetchCol(3);
}
# потом еще вывод через Ж
это работает на mySQL/PERL.
да зачем нам реляционная база, мы сами можем манипулировать отношениями.
comments_ptr это BLOB, c упакованным в него массивом int32 id'шников из comments.id
хотя и есть comments.post_id <=> posts.id
просто праздник какой-то!
+134.7
private bool localGlobal;
//...
string filterActionOrder = FilterActionOrder.Text;
//For sorting purpose, substract .5 to the ActionOrder to ensure
//the order specified takes precedence
double filterActionOrderTemp = Double.Parse(filterActionOrder) - .5;
filterActionOrder = filterActionOrderTemp.ToString();
без комментариев :)
−859.4
SET @DD = DATEPART(dd, GETDATE())
SET @MM = DATEPART(mm, GETDATE())
SET @YYYY = DATEPART(yyyy, GETDATE())
IF LEN(@DD) = '1'
BEGIN
SET @DD = '0' + @DD
END
IF LEN(@MM) = '1'
BEGIN
SET @MM = '0' + @MM
END
SET @DT_D = @DD + '.' + @MM + '.' + @YYYY
Изврат по превращению текущей даты в нужный формат в MSSQL
+123.6
local string s1;
s1 = "..\\Save";
PC = PlayerOwner();
PC.ConsoleCommand("set Core.System SavePath"@s1);
SaveGameList.FontScale = FNS_Medium;
SaveGameList.OnClickSound = CS_Down;
Вот так не надо переопределять пути :(
+144.5
<?php
/* КУЧА ГОВНОКОДА */
?>
<TITLE><?php echo $m_feld[0];?></TITLE>
<?php
/* КУЧА ГОВНОКОДА */
?>
...вот так вот завернуть...навыворот можна ))
+77.3
protected static Map<Long, List<Bank.BankMoney>> getWinnersBanksMap(Map<Long, List<Bank.BankMoney>> sharedBank) {
Map<Long,List<Bank.BankMoney>> winnersWithBanks = new HashMap<Long, List<Bank.BankMoney>>();
for (Map.Entry<Long, List<Bank.BankMoney>> longListEntry : sharedBank.entrySet()) {
Long playerId = longListEntry.getKey();
List<Bank.BankMoney> banksWonOnThisIteration = longListEntry.getValue();
List<Bank.BankMoney> banks1 = winnersWithBanks.get(playerId);
if (banks1 == null) {
banks1 = new ArrayList<Bank.BankMoney>();
winnersWithBanks.put(playerId, banks1);
}
banks1.addAll(banksWonOnThisIteration);
}
return winnersWithBanks;
}
В результате серии рефакторингов чужого кода обнаружил следующий метод, над которым долго ломал голову - что он делает... Оказалось, ничего. Возвращает копию исходного объекта.
−861.2
SELECT * FROM obj WHERE telephon LIKE '***' AND off = 0;
SELECT obj.* FROM
obj
INNER JOIN obj2ls ON obj.ObjID = obj2ls.ObjKod AND obj2ls.Bdate <= CURDATE() AND obj2ls.Edate >= CURDATE() AND obj2ls.off = 0
INNER JOIN ls ON obj2ls.LsKod = ls.lsid AND ls.off = 0
INNER JOIN ls2contr ON ls.lsid = ls2contr.lskod AND ls2contr.bdate <= CURDATE() AND ls2contr.edate >= CURDATE() AND ls2contr.off = 0
INNER JOIN contr ON ls2contr.contrkod = contr.contrid AND contr.off = 0
WHERE obj.telephon LIKE '***' AND obj.off = 0 AND contr.contr_type = 2;
О плохом проектировании базы данных.
Был простой запрос, к нему добавили проверку 1го(!) доп. условия.
Еще умиляют JOINы в духе *Kod = *Id.
+126.6
<meta млн="" $42="" за="" рынке,="" масличном="" на="" оператора="" украинского="" крупнейшего="" group,="" allseeds="" доли="" контрольной="" приобретении="" о="" соглашение="" подписала="" Украины,="" групп="" агропромышленных="" крупнейших="" из="" одна="" ,="" Групп="" Кернел="" content="" name="description"/>
Говнодвижок слепил описание странички.
+144.5
<?php if (!$mode || true) { ?>
<div class="yiiForm">
<?php } else { ?>
<div class="yiiForm">
<?php } ?>
последствия удаления ненужных частей кода