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

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

    +4

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    bool shift = keys.Shift;
    
    if (keys.Control)
    {
    	return SelectNextControl(shift ? false : true);
    }

    Телерик опять жжот. Цветёт и пахнет.

    kerman, 10 Августа 2016

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

    +7

    1. 1
    https://twitter.com/neuromzan

    Нейросеть научилась писать твиты за Рамзана Кадырова https://nplus1.ru/news/2016/08/05/neurokad
    Вореции

    j123123, 06 Августа 2016

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

    +20

    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
    std::vector<D3D11_INPUT_ELEMENT_DESC> desc;
    for (auto it = descStrings.begin(); it != descStrings.end(); it++)
    {
    	auto strIt = it->begin();
     
    	std::string SemanticName;
    	while ((*strIt) != ',' || strIt != it->end())
    	{
    		if ((*strIt) != ' ')
    			SemanticName += (*strIt);
    		strIt++;
    	}
    	strIt++;
     
    	std::string SemanticIndex;
    	while ((*strIt) != ',' || strIt != it->end())
    	{
    		if ((*strIt) != ' ')
    		 SemanticIndex += (*strIt);
    		strIt++;
    	}
    	strIt++;
     
    	std::string Format;
    	while ((*strIt) != ',' || strIt != it->end())
    	{
    		if ((*strIt) != ' ')
    		 Format += (*strIt);
    		strIt++;
    	}
    	strIt++;
     
    	std::string InputSlot;
    	while ((*strIt) != ',' || strIt != it->end())
    	{
    		if ((*strIt) != ' ')
    		 InputSlot += (*strIt);
    		strIt++;
    	}
    	strIt++;
     
    	std::string AlignedByteOffset;
    	while ((*strIt) != ',' || strIt != it->end())
    	{
    		if ((*strIt) != ' ')
    		 AlignedByteOffset += (*strIt);
    		strIt++;
    	}
    	strIt++;
     
    	std::string InputSlotClass;
    	while ((*strIt) != ',' || strIt != it->end())
    	{
    		if ((*strIt) != ' ')
    			InputSlotClass += (*strIt);
    		strIt++;
    	}
    	strIt++;
     
    	std::string InstanceDataStepRate;
    	while ((*strIt) != '}' || strIt != it->end())
    	{
    		if((*strIt) != ' ')
    			InstanceDataStepRate += (*strIt);
    		strIt++;
    	}
    	strIt++;
     
    	D3D11_INPUT_ELEMENT_DESC element = {
    		SemanticName.c_str(), 
    		atoi(SemanticIndex.c_str()), 
    		(DXGI_FORMAT)atoi(Format.c_str()),
    		atoi(InputSlot.c_str()), 
    		atoi(AlignedByteOffset.c_str()), 
    		(D3D11_INPUT_CLASSIFICATION)atoi(InputSlotClass.c_str()),
    		atoi(InstanceDataStepRate.c_str())
    	};
     
    	desc.push_back(element);
    }

    Где-то в мире сдох от зависти один индус

    ptr2ptr, 05 Августа 2016

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

    −3

    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
    function formSelect($itxt, $name = '', $val = array(), $selected = 0, $data = 0, $nullF = false, $atr = '', $optatr = array()) {
    	if(is_array($selected)) { $atr .= ' multiple'; }
    	$html = '<select  name="'.$name.'" '.$atr.">\r\n";
    	if($nullF) {
    		$t = ($nullF === true) ? ' ' : $nullF;
    		$html .= '<option value="0">'.$t.'</option>'; }
    	if($data == 3) { $start = $itxt; $count = $val[0]; $step = $val[1]; }
    	else { $count = count($itxt); }
    	for($i = 0; $i < $count; $i++) {
    			// 4 - для быза данных
    		switch($data) {
    			case 1: $key = $val[$i]; $txt = $itxt[$i]; break;
    			case 2: $key = $i; $txt = $itxt[$i]; break;
    			case 3: $txt = $key = ($start + ($step*$i)); break;
    			case 4: $key = $itxt[$i][$val[0]]; $txt = $itxt[$i][$val[1]]; break;
    			default: $key = $txt = $itxt[$i]; break;
    		}
    		$sel = '';
    		if(is_array($selected)) {
    			if(in_array($key, $selected)) { $sel = 'selected'; }
    		} elseif($selected == $key) { $sel = 'selected'; }
    		if(!empty($optatr[$i])) { $opt = $optatr[$i]; } else { $opt = ''; }
    		$html .= '<option value="'.$key.'" '.$sel.$opt.'>'.$txt."</option>\r\n";
    	}
    	$html .= "</select>\r\n";
    	return $html;
    }

    Теперь бызить вореции как никогда просто!

    daniser, 19 Июля 2016

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

    +5

    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
    void add( std::string *str, std::string *addstr)
    {
      if(!strlen(addstr->c_str()))
        return;
    
      int len = strlen(str->c_str());
      if( len )
      {
        if((str->c_str())[len-1] != ';')
          *str = *str + ";";
    
        *str = *str + *addstr;
      }
      else
        *str = *addstr;
    
      len = strlen(str->c_str());
      if((str->c_str())[len-1] == ';')
    
      *str = str->substr(0,len-1);
    }

    kocmoc, 15 Июля 2016

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

    +3

    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
    $t0=mktime(
                preg_replace("/^....\-..\-..\ (..):..:..$/","$1",$task['end_date']),
                preg_replace("/^....\-..\-..\ ..:(..):..$/","$1",$task['end_date']),
                preg_replace("/^....\-..\-..\ ..:..:(..)$/","$1",$task['end_date']),
                preg_replace("/^....\-(..)\-..\ ..:..:..$/","$1",$task['end_date']),
                preg_replace("/^....\-..\-(..)\ ..:..:..$/","$1",$task['end_date']),
                preg_replace("/^(....)\-..\-..\ ..:..:..$/","$1",$task['end_date'])
            );
    
            $t1=mktime(
                preg_replace("/^....\-..\-..\ (..):..:..$/","$1",$task['real_end_date']),
                preg_replace("/^....\-..\-..\ ..:(..):..$/","$1",$task['real_end_date']),
                preg_replace("/^....\-..\-..\ ..:..:(..)$/","$1",$task['real_end_date']),
                preg_replace("/^....\-(..)\-..\ ..:..:..$/","$1",$task['real_end_date']),
                preg_replace("/^....\-..\-(..)\ ..:..:..$/","$1",$task['real_end_date']),
                preg_replace("/^(....)\-..\-..\ ..:..:..$/","$1",$task['real_end_date'])
            );
    
            for($i=$t0;$i<=$t1;$i=$i+(60*60))
            {

    Вот такой разбор дат по крупицам обнаружился...

    Lblss, 12 Июля 2016

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

    +7

    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
    string[] mOSB0, mOSB1, mOSB2, mOSB3, mOSB4, mOSB5, mOSB6, mOSB7, mOSB8, mOSB9, mOSB10; 
    string[] mOSB11, mOSB12, mOSB13, mOSB14, mOSB15, mOSB16, mOSB17, mOSB18, mOSB19, mOSB20, mOSB21; 
    string[] mOSB22, mOSB23, mOSB24, mOSB25, mOSB26, mOSB27, mOSB28, mOSB29, mOSB30, mOSB31, mOSB32; 
    string[] mOSB33, mOSB34, mOSB35, mOSB36, mOSB37, mOSB38, mOSB39, mOSB40, mOSB41, mOSB42, mOSB43; 
    string[] mOSB44, mOSB45, mOSB46, mOSB47, mOSB48, mOSB49, mOSB50, mOSB51, mOSB52, mOSB53, mOSB54; 
    string[] mOSB55, mOSB56, mOSB57, mOSB58, mOSB59, mOSB60, mOSB61, mOSB62, mOSB63, mOSB64, mOSB65; 
    string[] mOSB66, mOSB67, mOSB68, mOSB69, mOSB70, mOSB71, mOSB72, mOSB73, mOSB74, mOSB75, mOSB76; 
    string[] mOSB77, mOSB78, mOSB79, mOSB80, mOSB81, mOSB82, mOSB83, mOSB84, mOSB85, mOSB86, mOSB87; 
    string[] mOSB88, mOSB89, mOSB90, mOSB91, mOSB92, mOSB93, mOSB94, mOSB95, mOSB96, mOSB97, mOSB98; 
    string[] mOSB99, mOSB100, mOSB101, mOSB102, mOSB103, mOSB104, mOSB105, mOSB106, mOSB107, mOSB108; 
    string[] mOSB109, mOSB110, mOSB111, mOSB112, mOSB113, mOSB114, mOSB115, mOSB116, mOSB117, mOSB118; 
    string[] mOSB119, mOSB120, mOSB121, mOSB122, mOSB123, mOSB124, mOSB125, mOSB126, mOSB127, mOSB128; 
    string[] mOSB129, mOSB130, mOSB131, mOSB132, mOSB133, mOSB134, mOSB135, mOSB136, mOSB137, mOSB138; 
    string[] mOSB139, mOSB140, mOSB141, mOSB142, mOSB143, mOSB144, mOSB145, mOSB146, mOSB147, mOSB148; 
    string[] mOSB149, mOSB150, mOSB151, mOSB152, mOSB153, mOSB154, mOSB155, mOSB156, mOSB157, mOSB158; 
    string[] mOSB159, mOSB160, mOSB161, mOSB162, mOSB163, mOSB164, mOSB165, mOSB166, mOSB167, mOSB168; 
    string[] mOSB169, mOSB170, mOSB171, mOSB172, mOSB173, mOSB174, mOSB175, mOSB176, mOSB177, mOSB178; 
    string[] mOSB179, mOSB180, mOSB181, mOSB182, mOSB183, mOSB184, mOSB185, mOSB186, mOSB187, mOSB188; 
    string[] mOSB189, mOSB190, mOSB191, mOSB192, mOSB193, mOSB194, mOSB195, mOSB196, mOSB197, mOSB198; 
    string[] mOSB199, mOSB200, mOSB201, mOSB202, mOSB203, mOSB204, mOSB205, mOSB206, mOSB207, mOSB208; 
    string[] mOSB209, mOSB210, mOSB211, mOSB212, mOSB213, mOSB214, mOSB215, mOSB216, mOSB217, mOSB218; 
    string[] mOSB219, mOSB220, mOSB221, mOSB222, mOSB223, mOSB224, mOSB225, mOSB226, mOSB227, mOSB228; 
    string[] mOSB229, mOSB230, mOSB231, mOSB232, mOSB233, mOSB234, mOSB235, mOSB236, mOSB237, mOSB238; 
    string[] mOSB239, mOSB240, mOSB241, mOSB242, mOSB243, mOSB244, mOSB245, mOSB246, mOSB247, mOSB248; 
    string[] mOSB249, mOSB250, mOSB251, mOSB252, mOSB253; 
    string[] NORM, PEAK, NDST, NDSTR, NORMB, NDKOD, NDREZ; 
    string[] mTmcz, mKODZD, mKODRO, mKODNRO; 
    string csSosh = "Неверный КОД СОБЫТИЯ !!! - "; 
    string csSoshd = "Значение слова за пределами описанного";

    Массивы.
    Особенно хорош элегантный дефис, предлагающий продолжить описание ошибки.

    mrhotroad, 08 Июля 2016

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

    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
    do {
    	if ( array_key_exists( 'smd', $_GET ) ) {
    		$this->response[]	= $this->getServiceMap();
    		$this->hasCalls		= TRUE;
    		break;
    	}
    
    	$error = $this->getRequest();
    	if ( $error ) {
    		$this->response[] = $this->getError( $error );
    		$this->hasCalls   = TRUE;
    		break;
    	}
    
    	foreach( $this->calls as $call ) {
    		$error = $this->validateCall( $call );
    		if ( $error ) {
    			$this->response[] = $this->getError( $error[0], $error[1], $error[2] );
    			$this->hasCalls   = TRUE;
    		} else {
    			$result = $this->processCall( $call );
    			if ( $result ) {
    				$this->response[] = $result;
    				$this->hasCalls   = TRUE;
    			}
    		}
    	}
    } while(FALSE);

    Угадайте, зачем?

    Flaker, 07 Июля 2016

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

    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
    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
    public static GridElementForm SetConnectionState(GridElement[][] _map, int x, int y)
            {
    
                int right;
                int left;
                int up;
                int down;
                try { right = (int)_map[x - 1][y].elementType; }
                catch { right = 0; }
                try { left = (int)_map[x + 1][y].elementType; }
                catch { left = 0; }
                try { up = (int)_map[x][y - 1].elementType; } catch { up = 0; }
                try { down = (int)_map[x][y + 1].elementType; } catch { down = 0; }
                //****   I
                if (right >= 1 && left >= 1 && up == 0 && down == 0)
                {
                    return GridElementForm.Ihorizontal;
                }
                else if (right == 0 && left == 0 && up > 0 && down > 0)
                {
                    return GridElementForm.Ivertical;
                }
                ///*********
                /// *****   T 
                else if (right > 0 && left == 0 && up > 0 && down > 0)
                {
                    return GridElementForm.T1;
                }
                else if (right == 0 && left > 0 && up > 0 && down > 0)
                {
                    return GridElementForm.T2;
                }
                else if (right > 0 && left > 0 && up == 0 && down > 0)
                {
                    return GridElementForm.T3;
                }
                else if (right > 0 && left > 0 && up > 0 && down == 0)
                {
                    return GridElementForm.T4;
                }
                ///   *******
                ///   ******* L
                else if (right > 0 && left == 0 && up > 0 && down == 0)
                {
                    return GridElementForm.L2;
                }
                else if (right == 0 && left > 0 && up > 0 && down == 0)
                {
                    return GridElementForm.L1;
                }
                else if (right == 0 && left > 0 && up == 0 && down > 0)
                {
                    return GridElementForm.L4;
                }
                else if (right > 0 && left == 0 && up == 0 && down > 0)
                {
                    return GridElementForm.L3;
                }
                ///   *******
                else if (right > 0 && left > 0 && up > 0 && down > 0)
                {
                    return GridElementForm.X;
                }
                else
                {
                    return 0;
                }
            }
    
        }

    Без комментариев

    isnotameme, 06 Июля 2016

    Комментарии (2)
  11. 1C / Говнокод #20260

    −85

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    может = "ИвановИИ";
    	текущий = ИмяПользователя();
    	Если Не текущий = может Тогда
    		ЭлементыФормы.ОсновныеДействияФормы.Кнопки.ОсновныеДействияФормыВыполнить.Доступность = РедактироватьУзел;
    		Предупреждение("Запустить обмен может пользователь: " + может );
    	КонецЕсли;

    а если незнающий прог пробел добавит лишний в имя пользователя (или уволится сотрудник)... права лягут, да? ну ок.

    oleganatolievich, 23 Июня 2016

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