- 1
- 2
- 3
int a;
if(a=5)
doSomthing();
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+144.6
int a;
if(a=5)
doSomthing();
Боян, но первая ошибка всех новичков. Долго искал ошибку...
+13.1
...
class TCar
{
public:
TCar(int Speed)
{
...
};
};
...
void destroy_Car(TCar Car)
{
...
};
...
void GameLogic()
{
...
destroy_Car(50);
...
};
...
Хорошая логика...
+161.1
$w="";
foreach(array("id_page","id_point","id") as $i)
$w.=$$i?(($w?" and ":"")."$i=".$$i):"";
$sql="select * from ".$this->_name." where $w order by ordr,ts desc";
и без комментов, ага.
+12.2
TMutex CriticalGlobalRTOSMutex;
...
void CriticalDoing()
{
CriticalGlobalRTOSMutex.Lock();
...
if( !HorriblyDoing(...) )
{
throw FatalException;
};
...
CriticalGlobalRTOSMutex.UnLock();
};
...
Мне уже страшно...
+12.1
class TIntArray
{
char buf[10000];
int operator[](int Index);
};
...
void main()
{
TIntArray a;
...
memset(&a[1],0.0f,sizeof(TIntArray));
...
};
Меня этот кот довёл до слёз...
+13.1
#define REGISTER_PACKET(cls, type)\
__declspec(selectany) PacketType cls::s_type = CPacketFactory::RegisterPacket(type, cls::CreateNew); \
__pragma(comment(linker, "/include:?s_type@##cls##@@2W4PacketType@@C"))
Очень правильный код... Делать можно только так.
+152.8
function verify()
{
//1
if(event.clientX >= 20 && event.clientX <= 113 && event.clientY >= 20 && event.clientY <= 90 && trigger == 1)
{
name.style.top=21
name.style.left=21
name.border=0
if(name.name == "one"){counter1=1; document.all.ok.style.visibility = 'visible'; document.all.no.style.visibility = 'hidden'}
else{counter1=0; document.all.no.style.visibility = 'visible'; document.all.ok.style.visibility = 'hidden'; errors++}
trigger = 0
movements++
document.all.movements.value = movements
}
//2
if(event.clientX >= 113 && event.clientX <= 206 && event.clientY >= 20 && event.clientY <= 90 && trigger == 1)
{
name.style.top=21
name.style.left=114
name.border=0
if(name.name == "two"){counter2=1; document.all.ok.style.visibility = 'visible'; document.all.no.style.visibility = 'hidden'; errors++}else{counter2=0; document.all.no.style.visibility = 'visible'; document.all.ok.style.visibility = 'hidden'; errors++}
trigger = 0
movements++
document.all.movements.value = movements
}
//3
if(event.clientX >= 206 && event.clientX <= 299 && event.clientY >= 20 && event.clientY <= 90 && trigger == 1)
{
name.style.top=21
name.style.left=207
name.border=0
if(name.name == "three"){counter3=1; document.all.ok.style.visibility = 'visible'; document.all.no.style.visibility = 'hidden'}else{counter3=0; document.all.no.style.visibility = 'visible'; document.all.ok.style.visibility = 'hidden'; errors++}
trigger = 0
movements++
document.all.movements.value = movements
}
//4
if(event.clientX >= 299 && event.clientX <= 392 && event.clientY >= 20 && event.clientY <= 90 && trigger == 1)
{
name.style.top=21
name.style.left=300
name.border=0
if(name.name == "four"){counter4=1; document.all.ok.style.visibility = 'visible'; document.all.no.style.visibility = 'hidden'}else{counter4=0; document.all.no.style.visibility = 'visible'; document.all.ok.style.visibility = 'hidden'; errors++}
trigger = 0
movements++
document.all.movements.value = movements
//И так - 30 раз:))
Говнокодил давно, еще в школе. Года через 4, в универе, вернулся к этому коду и ничего не смог понять:) Новое решение заняло примерно в 10 раз меньше места.
+7.2
float *val32;
val32 = new(float);
*val32 = 0.0f;
memcpy((float*)(((char*)val32)+0), buf+(i*4)+0, 1);
memcpy((float*)(((char*)val32)+1), buf+(i*4)-1, 1);
memcpy((float*)(((char*)val32)+2), buf+(i*4)+2, 1);
memcpy((float*)(((char*)val32)+3), buf+(i*4)+1, 1);
int value = device->DownValue32(*val32, start + (i*2) - 2);
free (val32);
Заводить переменные с стеке это для лохов. Реальные пацаны все выделяют в стеке.
+7
std::string s1;
std::string s2;
int ret = strcmp(s1.c_str(), s2.c_str()); //А здесь мы сравниваем строки
if (ret == 0)
{
....
}
+7
if(isMoving)
{
std::map<int, unsigned char> dirToFrame = boost::assign::map_list_of(1, 10)(2, 5)(3, 6)(4, 7)(5, 8)(6, 9)(7, 12)(8, 11);
if(dir >= 1 && dir <= 10)
return dirToFrame[dir];
throw std::string("Something very wrong1.");
}
else //if(isMoving)
{
std::map<int, unsigned char> dirToFrame = boost::assign::map_list_of(1, 13)(2, 0)(3, 1)(4, 2)(5, 3)(6, 4)(7, 15)(8, 14);
if(dir >= 1 && dir <= 10)
return dirToFrame[dir];
throw std::string("Something very wrong1.");
}
Кусок кода из open source игры. Выбирает кадр спрайта, в зависимости от направления героя. В ревизии, предшествующей этой, использовался switch.