- 1
implode("','", array('product_gems'))
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+148
implode("','", array('product_gems'))
почему бы не заменить такое просто строкой...
+70.8
if (tp != null) {
DocElement d = (DocElement)tp.getLastPathComponent();
if (d.getElementType() == Constants.TYPE_FOLDER) {
context.setCursor(DragSource.DefaultMoveDrop);
if (d.getElementType()==Constants.TYPE_FOLDER) {
tree.setSelectionPath(tp);
tree.expandPath(tp);
}
}else {
context.setCursor(DragSource.DefaultMoveNoDrop);
}
}
моё, так сказать носом ткнули)
условие if (d.getElementType()==Constants.TYPE_FOLD ER)
+167.2
<?php
class Xml {
//Эта библиотека УГ, она не требуется
}
Волею судеб взялся за поддержку "сайтега", написанного каким-то малограмотным студентом.
В процессе изучению сорцов я увидел много новых гениальных паттернов и практик, phpMyAdmin без пароля, который лежал прямо в корне и был доступен извне, полное отсутствие ясной мысли и трезого ума.
Но сегодня наткнулся на класс, который меня просто добил.
ps. Не формат, просто наболело.
+144.8
#define THIS_FILE __FILE__
#define Default 0xFFFFFFFF
void* __cdecl operator new(size_t nSize, LPCSTR lpszFileName, int nLine=Default)
{
void * v = ::operator new(nSize, _NORMAL_BLOCK, lpszFileName, nLine);
return v;
}
void __cdecl operator delete(void * _P, char*){
::delete (_P);
}
Какие страсти...
+169
<?php
function findAttribute($object, $attribute) {
foreach($object->attributes() as $a => $b) {
if ($a == $attribute) {
$return = $b;
}
}
if($return) {
return $return;
}
}
?>
так человек предлагает возвращать нужный аттрибут из xml ноды.
http://ru.php.net/manual/en/simplexmlelement.attributes.php#42692
+143.8
//...
int a[65535],i;
//...
while(a[i]>0)
{
i++;
a[i]++;
a[i]++;
a[i]++;
a[i]++;
//еще 60 раз a[i]++;
i--;
a[i]--;
}
Вот что значит компилятор Brainfuck => C без примитивнейшего оптимизатора.
(приведенный обрывок кода соответствует [>++++еще 60 плюсов<-])
−116.2
# TODO: выбросить нахер метод with_company_and_state и правильно написать
# этот named scope
named_scope :with_company_and_state_non_uniq, lambda { |company, state|
{ :conditions => [ 'products.company_id = :company_id AND ' +
'state_mask = :state_mask', { :company_id => company,
:state_mask => OrderSet::STATES.index(state) || 0 } ],
:order => 'order_sets.created_at DESC',
:joins => 'INNER JOIN products' }
}
def self.with_company_and_state(company, state)
with_company_and_state_non_uniq(company, state).uniq
end
Бывает, что SELECT DISTINCT сделать не всегда возможно. На самом деле, такая выборка сосёт.
−133.6
nettest() {
ping -c $1 $2 > /dev/null 2>&1
if [ "$?" -eq "0" ] ; then
true
else
false
fi
}
idroot() {
if [ "`id -u`" -eq "0" ] ; then
true
else
false
fi
}
greenc() {
printf "\033[1;32;40m$1"
}
redc() {
printf "\033[1;31;40m$1"
}
yellowc() {
printf "\033[1;33;40m$1"
}
whitec() {
printf "\033[1;37;40m$1"
}
normc() {
printf "\033[0;37;40m$1"
}
grayc() {
printf "\033[1;30;40m$1"
}
Мудак который это написал - я :))
Нужна была небольшая библиотека для скрипта.
−107.8
response = conn.getresponse()
data = response.read()
s_list = list(data)
i, j = 0, 0
while i < len(s_list):
if s_list[i] == '<':
while s_list[i] != '>':
s_list.pop(i)
s_list.pop(i)
elif s_list[i] == '\n':
s_list.pop(i)
elif s_list[i] == '\t':
s_list.pop(i)
else:
i = i+1
data = str(s_list).replace('\'','').replace(' ','').replace(',','').\
replace(' ','').replace('SERegistru','').replace('[','').\
replace(']','').replace(':','').replace(';','').\
replace('IDNP','').replace('LastName',' ').\
replace('FirstName',' ').replace('SecondName',' ').replace('Alive',' ')
Простой парсер HTML странички.. ^_^
+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. Обратите внимание на особо остроумный алгоритм умножения: надо же до такого додуматься. Также интересно, чем мотивирована передача массивов по значению.