1. C++ / Говнокод #19303

    +2

    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
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    /***
    *assert.h - define the assert macro
    *
    *       Copyright (c) Microsoft Corporation. All rights reserved.
    *
    *Purpose:
    *       Defines the assert(exp) macro.
    *       [ANSI/System V]
    *
    *       [Public]
    *
    ****/
    
    
    /*
    #include <crtdefs.h>
    
    #undef  assert
    
    #ifdef  NDEBUG
    
    #define assert(_Expression)     ((void)0)
    
    #else
    
    #ifdef  __cplusplus
    extern "C" {
    #endif
    
    _CRTIMP void __cdecl _wassert(_In_z_ const wchar_t * _Message, _In_z_ const wchar_t *_File, _In_ unsigned _Line);
    
    #ifdef  __cplusplus
    }
    #endif
    
    #define assert(_Expression) (void)( (!!(_Expression)) || (_wassert(_CRT_WIDE(#_Expression), _CRT_WIDE(__FILE__), __LINE__), 0) )
    
    #endif   */
    
    #pragma once
    #ifdef NDEBUG
    #define assert(expr)
    #else
    inline void CheckExpression_(bool expr)
    {
    	if (!expr)
    	{
    		expr=true; // put breakpoint here, happy user;
    		CheckExpression_(expr);
    	}
    }
    
    inline void CheckExpression_(void* expr)
    {
    	if (!expr)
    	{
    		expr=(void*)(1); // put breakpoint here, happy user;
    		CheckExpression_(expr);
    	}
    }
    
    #define assert(expr) CheckExpression_(expr);
    #endif

    Сука я не знаю, почему в студии-2008 родной ассерт показывает не ту строку, на которой он произошёл и в стеке вызовов хуйня какая-то, и как подключить DebugBreak я тоже не знаю, потому что в windef.h куча хуеты, выдающей 100500 ошибок компиляции. Чтобы хоть как-то можно было жить, пришлось сделать так.

    TarasB, 13 Января 2016

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

    +5

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    $temp = $this->user->get($value['user_id']);
    foreach ($temp as $var) {
    	$temp = $var;
    	break;
    }

    Просматривал код курсвых по web-программированию, нашел новейший метод извлечения первого элемента массива

    skad0, 13 Января 2016

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

    0

    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
    $l_data["comm_text"] = $mail_body;
    				$l_var = implode(",", $l_var);
    				$l_path = "root->mail->".$l_group_id."->".$l_uuid."->[".$l_var.",group_name,comm_text]";
    				
    				$this->engine->smartquery->create( $l_path );
    				$this->engine->smartquery->setdata( $l_path, $l_data );
    
    				if ($this->engine->var->get("comm_subscribe") == 1 && defvar($this->engine->var->get("comm_email"),"") != "")
    				{
    				
    
    					$l_result = $this->engine->smartquery->getdata( "root->clients->(list)->[*]"," and `comm_email`='".$this->engine->var->get("comm_email")."' ");
    					$l_result = $l_result->getall();
    					
    					if (count($l_result) == 0)
    					{
    						//Создать группу если отсутствует
    						$l_data = array();
    						$l_data["comm_fio"] = $this->engine->var->get("comm_fio");
    						$l_data["comm_email"] = defvar($this->engine->var->get("comm_email"),"");
    						$l_data["comm_phone"] = defvar($this->engine->var->get("comm_phone"),"");
    						$l_data["comm_formid"] = $l_group_id;
    						$l_data["comm_formname"] = defvar($config["mail.communication".$l_group_id.".subj"],"");
    						
    						$l_var = implode(",", array_keys($l_data));
    						$l_uuid = mktime();
    						$l_path = "root->clients->".$l_uuid."->[".$l_var."]";
    
    						
    						$this->engine->smartquery->create( $l_path );
    						$this->engine->smartquery->setdata( $l_path, $l_data );
    					}
    					
    				}

    Это код из одного "супер" движка мало того что тут используется дибильный шаблонизатор, тут используется просто еб*нутый класс для работы с базой данных....
    Не знаю что автор хотел оптимизировать этим классом, но простая вставка данных в таблицу тут занимает целых два метода 1-ый($this->engine->smartquery->create) создает таблицу(если ее нет и пустую строку), второй только собственно осуществляет вставку в эту строку данных($this->engine->smartquery->setdata)

    cowrvalera, 13 Января 2016

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

    +2

    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
    # Проверка массива
    if ($_POST) {
        # Проверка Категории
        if ($_POST['category'] > 0) {
            # Отображение на главной
            if ($_POST['main'] == "0" || $_POST['main'] == "1") {
                # Șмя товара
                if ($_POST['item'] != "") {
                    # Описание товара
                    if ($_POST['body'] != "") {
                        # Картинка товара
                        if ($_POST['image'] != "") {
                            # Цены на товар
                            if ($_POST['price'] != "") {
                                  ...
                            }
                        }
                    }
                }
            }
        }
    }

    Когда ну очень хочется комментировать и оператор AND бессилен.

    mikamika83, 13 Января 2016

    Комментарии (2)
  5. JavaScript / Говнокод #19294

    +1

    1. 1
    2. 2
    3. 3
    while ((math == (math = Math)).toString() == "true") {
       ...
    }

    программист-дотер

    mikamika83, 12 Января 2016

    Комментарии (37)
  6. PHP / Говнокод #19292

    +6

    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
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    if($_GET['menu_id']==5){header("Location:index.php?link=pages_blog&menu_id=101");}
    if($_GET['menu_id']==2){header("Location:index.php?link=pages_blog&menu_id=102");}
    if($_GET['menu_id']==9){header("Location:index.php?link=pages&id=113");}
    if($_GET['menu_id']==16){header("Location:index.php?link=pages&id=114");}
    if($_GET['menu_id']==11){header("Location:index.php?link=pages&id=115");}
    if($_GET['menu_id']==10){header("Location:index.php?link=pages&id=116");}
    if($_GET['id']==22){header("Location:index.php?link=pages&id=129");}
    if($_GET['id']==23){header("Location:index.php?link=pages&id=130");}
    if($_GET['id']==27){header("Location:index.php?link=pages&id=135");}
    if($_GET['id']==19){header("Location:index.php?link=pages&id=125");}
    if($_GET['id']==28){header("Location:index.php?link=pages&id=127");}
    if($_GET['id']==30){header("Location:index.php?link=pages&id=132");}
    if($_GET['id']==29){header("Location:index.php?link=pages&id=132");}
    if($_GET['id']==26){header("Location:index.php?link=pages&id=134");}
    if($_GET['id']==24){header("Location:index.php?link=pages&id=103");}
    
    
    if($_GET['id']==1){ header("Location:index.php");}
    
    if($_GET['id']==32){ header("Location:index.php?link=pages&id=116#1");}
    if($_GET['id']==33){ header("Location:index.php?link=pages&id=116#2");}
    if($_GET['id']==34){ header("Location:index.php?link=pages&id=116#3");}
    if($_GET['id']==35){ header("Location:index.php?link=pages&id=116#4");}
    if($_GET['id']==36){ header("Location:index.php?link=pages&id=116#5");}
    if($_GET['id']==37){ header("Location:index.php?link=pages&id=116#6");}
    if($_GET['id']==38){ header("Location:index.php?link=pages&id=116#7");}
    if($_GET['id']==39){ header("Location:index.php?link=pages&id=116#8");}
    
    if($_GET['menu_id']==12){header("Location:index.php?link=pages&id=117");}
    if($_GET['menu_id']==14){header("Location:index.php?link=pages&id=118");}
    if($_GET['menu_id']==13){header("Location:index.php?link=pages&id=119");}
    if($_GET['menu_id']==34){header("Location:index.php?link=pages&id=119");}
    if($_GET['menu_id']==15){header("Location:index.php?link=pages&id=120");}
    
    if($_GET['menu_id']==31){header("Location:index.php?link=pages&id=121");}
    
    if($_GET['menu_id']==3){header("Location:index.php?link=pages_blog&menu_id=103");}
    
    if($_GET['id']==17){ header("Location:index.php?link=pages&id=122");}
    if($_GET['menu_id']==17){ header("Location:index.php?link=pages&id=122");}
    if($_GET['menu_id']==35){header("Location:index.php?link=pages&id=123");}
    
    if($_GET['id']==18){ header("Location:index.php?link=pages&id=124");}
    if($_GET['menu_id']==18){ header("Location:index.php?link=pages&id=124");}
    if($_GET['id']==19){ header("Location:index.php?link=pages&id=125");}
    if($_GET['id']==20){ header("Location:index.php?link=pages&id=126");}
    if($_GET['id']==28){ header("Location:index.php?link=pages&id=127");}
    
    if($_GET['menu_id']==32){header("Location:index.php?link=pages_blog&menu_id=103");}
    if($_GET['menu_id']==7){header("Location:index.php?link=pages&menu_id=104");}
    if($_GET['menu_id']==36){header("Location:index.php?link=pages&menu_id=105");}
    if($_GET['menu_id']==6){header("Location:index.php?link=pages_blog&menu_id=106");}
    
    if($_GET['id']==61){ header("Location:index.php?link=pages&id=143");}
    if($_GET['id']==60){ header("Location:index.php?link=pages&id=112");}
    if($_GET['id']==57){ header("Location:index.php?link=pages&id=111");}
    if($_GET['id']==59){ header("Location:index.php?link=pages&id=110");}
    if($_GET['id']==56){ header("Location:index.php?link=pages&id=109");}
    if($_GET['id']==55){ header("Location:index.php?link=pages&id=108");}
    if($_GET['id']==54){ header("Location:index.php?link=pages&id=107");}
    if($_GET['id']==53){ header("Location:index.php?link=pages&id=106");}
    if($_GET['id']==52){ header("Location:index.php?link=pages&id=105");}
    if($_GET['id']==50){ header("Location:index.php?link=pages&id=103");}
    if($_GET['id']==44){ header("Location:index.php?link=pages&id=102");}

    $_GET марафет

    shklovsky, 12 Января 2016

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

    +4

    1. 1
    <?= rand(1, 2) == 3 ? '<img src="/assets/img/icons/icon_organic.png">' : ''; ?>

    tazzadar, 12 Января 2016

    Комментарии (2)
  8. JavaScript / Говнокод #19290

    +2

    1. 1
    str.indexOf('#') === 0

    Проверка что строка начинается с '#'

    3_dar, 11 Января 2016

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

    +2

    1. 1
    2. 2
    3. 3
    return usort($bidsSale, function($a, $b){ 
                  return ($a->priority < $b->priority) ? -1 : 1; 
    });

    Найдено в функции от которой ожидается возврат массива.

    blacksudo, 10 Января 2016

    Комментарии (15)
  10. Си / Говнокод #19280

    −1

    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
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    // Add a UPnP port
    bool Win32UPnPAddPort(UINT outside_port, UINT inside_port, bool udp, char *local_ip, wchar_t *description, bool remove_before_add)
    {
    	bool ret = false;
    	HRESULT hr;
    	IUPnPNAT *nat = NULL;
    	wchar_t ip_str[MAX_SIZE];
    	BSTR bstr_ip, bstr_description, bstr_protocol;
    	wchar_t *protocol_str = (udp ? L"UDP" : L"TCP");
    	// Validate arguments
    	if (outside_port == 0 || outside_port >= 65536 || inside_port == 0 || inside_port >= 65536 ||
    		IsEmptyStr(local_ip) || UniIsEmptyStr(description))
    	{
    		return false;
    	}
    
    	StrToUni(ip_str, sizeof(ip_str), local_ip);
    	bstr_ip = SysAllocString(ip_str);
    	bstr_description = SysAllocString(description);
    	bstr_protocol = SysAllocString(protocol_str);
    
    	hr = CoCreateInstance(CLSID_UPnPNAT, NULL, CLSCTX_INPROC_SERVER, IID_IUPnPNAT, (void **)&nat);
    
    	if (SUCCEEDED(hr))
    	{
    		if (nat != NULL)
    		{
    			IStaticPortMappingCollection *collection = NULL;
    			hr = nat->get_StaticPortMappingCollection(&collection);
    
    			if (SUCCEEDED(hr))
    			{
    				if (collection != NULL)
    				{
    					IStaticPortMapping *mapping = NULL;
    
    					if (remove_before_add)
    					{
    						hr = collection->Remove((long)outside_port, bstr_protocol);
    					}
    
    					hr = collection->Add((long)outside_port, bstr_protocol, (long)inside_port,
    						bstr_ip, VARIANT_TRUE, bstr_description, &mapping);
    
    					if (SUCCEEDED(hr))
    					{
    						ret = true;
    
    						if (mapping != NULL)
    						{
    							mapping->Release();
    						}
    					}
    
    					collection->Release();
    				}
    				else
    				{
    					WHERE;
    				}
    			}
    			else
    			{
    				WHERE;
    			}
    
    			nat->Release();
    		}
    		else
    		{
    			WHERE;
    		}
    	}
    	else
    	{
    		WHERE;
    	}
    
    	SysFreeString(bstr_ip);
    	SysFreeString(bstr_description);
    	SysFreeString(bstr_protocol);
    
    	return ret;
    }

    Отсюда https://github.com/SoftEtherVPN/SoftEtherVPN/blob/master/src/Cedar/Win32Com.cpp#L157
    Там еще много такого. https://github.com/SoftEtherVPN/SoftEtherVPN/blob/master/src/Cedar/Win32Com.cpp#L963 вот например тоже забавная хрень. Нашел эту штуку по ссылке с говнохабра http://habrahabr.ru/post/208782/

    j123123, 04 Января 2016

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