1. Лучший говнокод

    В номинации:
    За время:
  2. JavaScript / Говнокод #4873

    +157

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    $('.tariffs').click(function(){$('#tabs').tabs( 'select' , 1 ); top.scrollTo(0,0); return false;});
    	$('.tarifffs').click(function(){$('#tabs').tabs( 'select' , 2 ); top.scrollTo(0,0); return false;});
    	$('.testdrive').click(function(){$('#tabs').tabs( 'select' , 3 ); top.scrollTo(0,0); return false;});
    	$('.faq').click(function(){$('#tabs').tabs( 'select' , 5 ); top.scrollTo(0,0); return false;});
    	$('.zakaz').click(function(){$('#tabs').tabs( 'select' , 3 ); top.scrollTo(0,0); return false;});	
    	$('.vfaq').click(function(){$('#tabs').tabs( 'select' , 4 ); top.scrollTo(0,0); return false;});
    	$('.solution').click(function(){$('#tabs').tabs( 'select' , 1 ); top.scrollTo(0,0); return false;});

    Сайт Петерстара для верности дважды подключает jQuery разных версий и сверкает говнокодом: см. строки 56-62 HTML-кода —
    http://twitter.com/pepelsbey/statuses/12677274499293184

    0__1, 09 Декабря 2010

    Комментарии (2)
  3. PHP / Говнокод #4821

    +157

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    <?if (is_array($GLOBALS['cart_content'])):?>
    	<?foreach ($GLOBALS['cart_content'] as $item_id=>$odin):?>
    		<?if (isset($arResult['ITEMS'][$item_id])):?>
    			$('#product-order-<?=$item_id?>').html('<a href="/personal/cart/" class="buy" style="padding-left:20px">В корзине</a>').parent().addClass('bought');
    		<?endif;?>
    	<?endforeach;?>
    <?endif;?>
    
    
    <?if (is_array($GLOBALS['wishlist_content'])):?>
    	<?foreach ($GLOBALS['wishlist_content'] as $item_id=>$odin):?>
    		<?if (isset($arResult['ITEMS'][$item_id])):?>
    			$('#product-wishlist-<?=$item_id?>').html('<a href="/personal/wishlist/" class="reserve">Отложено</a>');
    		<?endif;?>
    	<?endforeach;?>
    <?endif;?>

    Довелось переделывать шаблон магазина на злополучном битриксе. Нашёл в старом шаблоне такую красоту, этот кусок вставляется в основной шаблон внутри тега <script>, предназначение его — на товарах которые в корзине отображать вместо ссылки купить надпись в корзине.

    sickuenser, 03 Декабря 2010

    Комментарии (9)
  4. C++ / Говнокод #4768

    +157

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    void CVC6_SampleCodeDlg::OnButtonSaveframe() 
    {
    	// TODO: Add your control notification handler code here
    	SYSTEMTIME lpSysTime;
    	GetLocalTime(&lpSysTime);
    
    	long Dims = SafeArrayGetDim(pvBuffer.parray);
    	if(Dims != 1)
    		return;
    
    	char *pbuf = (char*)malloc(m_FrameSize);
    	char *pfinal = pbuf;
    	for(long i=0;i<m_FrameSize;i++)
    	{
    		SafeArrayGetElement(pvBuffer.parray, &i, pfinal++);
    	}
    	
    	FILE* fSaveFile;
    	CString saveName;
    	if(m_vportsdk.GetGetStreamType() == 1)
    		saveName.Format(".//%d%d%d_%d%d%d.mpg4",lpSysTime.wYear, lpSysTime.wMonth, lpSysTime.wDay,
    			lpSysTime.wHour, lpSysTime.wMinute, lpSysTime.wSecond);
    	else if(m_vportsdk.GetGetStreamType() == 2)
    		saveName.Format(".//%d%d%d_%d%d%d.jpg",lpSysTime.wYear, lpSysTime.wMonth, lpSysTime.wDay,
    			lpSysTime.wHour, lpSysTime.wMinute, lpSysTime.wSecond);
    
    	if((fSaveFile = fopen((LPCTSTR)saveName,"wb"))!=NULL)
    	{
    		fwrite(pbuf, 1, m_FrameSize, fSaveFile);
    		fclose(fSaveFile);
    	}
    	SafeArrayUnaccessData(pvBuffer.parray);
    	delete pbuf;
    	pbuf = NULL;
    }

    VPort ActiveX SDK PLUS от Moxa
    часть 5. Хватит пока :)

    absolut, 27 Ноября 2010

    Комментарии (12)
  5. PHP / Говнокод #4714

    +157

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    move_uploaded_file($_FILES['Filedata']['tmp_name'], 'gallery/' . $_FILES['Filedata']['name']);
     chmod('gallery/' . $_FILES['Filedata']['name'], 0777);
     $return['src'] = 'uploads/' . $_FILES['Filedata']['name'];
    /*
     * or
     *
     * $return['link'] = YourImageLibrary::createThumbnail($_FILES['Filedata']['tmp_name']);
     *
     */
    
    if ($error) {
    
    	$return = array(
    		'status' => '0',
    		'error' => $error
    	);
    
    } else {
    
    	$return = array(
    		'status' => '1',
    		'name' => $_FILES['Filedata']['name']
    	);
    
    	// Our processing, we get a hash value from the file
    	$return['hash'] = md5_file($_FILES['Filedata']['tmp_name']);
    
    	// ... and if available, we get image data
    	$info = @getimagesize($_FILES['Filedata']['tmp_name']);
    
    	if ($info) {
    		$return['width'] = $info[0];
    		$return['height'] = $info[1];
    		$return['mime'] = $info['mime'];
    	}
    
    }

    ZekMan, 23 Ноября 2010

    Комментарии (9)
  6. JavaScript / Говнокод #4618

    +157

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    var Class = function () {
    	this.method = function () {
    		/* … */
    	};
    };
    
    Class = new Class();

    fuckyounoob, 13 Ноября 2010

    Комментарии (2)
  7. C++ / Говнокод #4602

    +157

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    void Scene3D::DrawTriangle(const Point3D &A, const Point3D &B, const Point3D &C, const Color& color)
    {
            // ---------------------------------------------------------------------------------------
            // вспомогательные вычисления
            // нормаль
            const Vector3D& n = (B - A) ^ (C - A);
    
            // ...
    
            // центр треугольника
            const Point3D& medium = (A + B + C) / 3.0;

    Руки как-то привыкли const TypeName& variableName набирать в определении параметров методов.
    И случайно набралось такое (строки 6, 11)

    Операторы (+, -, ^, /) над векторами возвращают Vector3D, не const Vector3D&.

    Заметил только через полгода, и всё это время оно почему-то работало, и даже ворнингов не было.

    Но такое ведь не должно работать!
    Результат вычисления в правой части присваивания структура, то есть она возвращается в стеке. Если бы я присвоил её какой-то локальной переменной, для которой выделена память в стеке текущей функции, то она бы перед удалением скопировалась в локальную переменную. А так получается что ссылка (n, medium) указывает куда-то на стек, где временно хранится возвращенное оператором значение. И при следующем вызове любой функции эта область стека должна перезаписаться.

    burdakovd, 12 Ноября 2010

    Комментарии (7)
  8. PHP / Говнокод #4582

    +157

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    function ajaxGetProcesses()
    {
    	$db = $this->site->DB;
    
    	$res = array();
    
    	$_POST['title'] = iconv('UTF-8', 'WINDOWS-1251', $_POST['title']);
    
    	if (!empty($_POST['title']))
    	{
    		$query = 'SELECT * FROM '.$this->site->prefix_db.'_processes_alters WHERE `title` LIKE \''.addcslashes($_POST['title'], '\'').'%\' LIMIT 10';
    		$db->query($query);
    		while ($i = $db->fetch())
    		{
    			$res[] = '"'.addcslashes($i['title'], '"').'"';
    		}
    	}
    	// кто ж виноват, что в середине 2010 года все еще приходится писать на пхп4 :-(
    	// json отсутствует, библиотеку подключать - жопа - не та сложность вывода
    	echo '['.implode(', ', $res).']';
    	exit();
    }

    netrain, 11 Ноября 2010

    Комментарии (45)
  9. C++ / Говнокод #4568

    +157

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    void QeLabel::mouseReleaseEvent(QMouseEvent *ev) {
    
        switch (ev->button()) {
        case Qt::LeftButton : {
                click++;
                click %=2;
                if (click == 0) {
                    emit dbl_clicked(id);
                }
                emit clicked(id);
                break;
            }
        default: break;
        }
    }

    сигналы на нажатие мыши

    onto, 09 Ноября 2010

    Комментарии (5)
  10. PHP / Говнокод #4445

    +157

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    ...
    
    if ($kpp['id_complect'] == '14') {
    $smarty->assign('sost', $kpp['tit']);
    
    }
    if ($kpp['id_complect'] == '54') {
    $smarty->assign('dvig', $kpp['tit']);
    
    }
    
    if ($kpp['id_complect'] == '17') {
    $smarty->assign('kpp', $kpp['tit']);
    
    }
    if ($kpp['id_complect'] == '16') {
    $smarty->assign('priv', $kpp['tit']);
    
    }
    if ($kpp['id_complect'] == '18') {
    $smarty->assign('weel', $kpp['tit']);
    
    }
    if ($kpp['id_complect'] == '19') {
    $smarty->assign('ras', $kpp['tit']);
    
    }
    if ($kpp['id_complect'] == '101') {
    $smarty->assign('color', $kpp['tit']);
    
    }
    if ($kpp['id_complect'] == '15') {
    $smarty->assign('torg', $kpp['tit']);
    
    }
    
    if ($kpp['id_complect'] == '96') {
    $smarty->assign('ls', $kpp['tit']);
    
    }
    
    if ($kpp['id_complect'] == '100') {
    $smarty->assign('vin', $kpp['tit']);
    
    }
    
    
    ...

    и так ооочень много...
    гениальный прогер наверно писал.

    yezhoff, 25 Октября 2010

    Комментарии (7)
  11. PHP / Говнокод #4438

    +157

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    protected function _defineUser()
        {
            if ($this->_getParam('controller') == 'profile')
            {
                // check for mb and sf
                if ($this->_getParam('action') == 'mb')
                {
                    $user = new Dbrow_User();
                    $this->userId = $user->getIdByMbId($this->currentId);
                }
                if ($this->_getParam('action') == 'sf')
                {
                    $user = new Dbrow_User();
                    $this->userId = $user->getIdBySfId($this->currentId);
                }
            }
            
            if ($this->userId <= 0)
            {
                $this->userId = (int)$this->_getParam('userId');
            }
            if ($this->userId <= 0)
            {
                $this->userId = (int)$this->currentId;
            }
            if ($this->userId <= 0 && Static_Auth::isLogged())
            {
                $this->user   = Static_Auth::getUser();
                $this->userId = $this->user->id;
            }
                else 
                {
                    $this->user = new Dbrow_User();
                    $this->user->loadById($this->userId, array());
                }
                
            $this->view->user = $this->user;
    
            self::$curUser = $this->user;
            //var_dump($this->user->parentEssences);
            //exit;
        }

    just piece of shit

    mykola, 25 Октября 2010

    Комментарии (10)