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

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

    −123

    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
    sub check_interface
    {
    	my $int_input = shift;
    	my $all_intr_local = [];
    	$_ = qx[ip a];
    	s[\d{1,}:[ ]{1,}([^ ]{1,}):.*]<unshift(@$all_intr_local, $1)>ge;
    	if ( ! grep( { /^$config_params{$int_input}$/ } @$all_intr_local ))
    	{
    		$warning->debug("Error: interface $int_input can't found local!!!");
    		exit 1;         
    	}
    	else
    	{
    		$info->debug("Load param $int_input = $config_params{$int_input}.");   
    	}
    }

    А вот так мы сканируем сетевые интерфейсы...

    SadKo, 21 Февраля 2011

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

    +136

    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
    static int getDns(int eid, webs_t wp, int argc, char_t **argv)
    {
            //....тут были еще переменные...
            int type, idx = 0, req = 0;
    
            if (ejArgs(argc, argv, T("%d"), &type) == 1) {
                    if (1 == type)
                            req = 1;
                    else if (2 == type)
                            req = 2;
                    else
                            return websWrite(wp, T(""));
            }
            //...дальше операции с req...
    }

    Такой вот китайский код демона goahead, пользуемого в embedded железяках...

    NiTr0man, 19 Февраля 2011

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

    +116

    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
    public static class ControlManager
        {
            public static UIElement GetControlByName(UIElement control, string name)
            {
                if (EntityType.GetValue(control, "Name").Equals(name))
                    return control;
                if (EntityType.IsProperty(control, "Children"))
                {
                    foreach (var element in (UIElementCollection)EntityType.GetValue(control, "Children"))
                    {
                        if (EntityType.GetValue(element, "Name").Equals(name))
                            return element;
                        var temp = GetControlByName(element, name);
                        if (temp != null)
                            return temp;
                    }
                }
                if (EntityType.IsProperty(control, "Child"))
                {
                    var element = (UIElement)EntityType.GetValue(control, "Child");
                    if (EntityType.GetValue(element, "Name").Equals(name))
                        return element;
                    var temp = GetControlByName(element, name);
                    if (temp != null)
                        return temp;
                }
                if (EntityType.IsProperty(control, "SelectionElement"))
                {
                    var element = (UIElement)EntityType.GetValue(control, "SelectionElement");
                    if (EntityType.GetValue(element, "Name").Equals(name))
                        return element;
                    var temp = GetControlByName(element, name);
                    if (temp != null)
                        return temp;
                }
                return null;
            }
    
            public static UIElement GetControlByType(UIElement control, Type type)
            {
                if (control.GetType() == type)
                    return control; 
                if (EntityType.IsProperty(control, "Children"))
                {
                    foreach (var element in (UIElementCollection)EntityType.GetValue(control, "Children"))
                    {
                        if (element.GetType() == type)
                            return element;
                        var temp = GetControlByType(element, type);
                        if (temp != null)
                            return temp;
                    }
                }
                if (EntityType.IsProperty(control, "Child"))
                {
                    var element = (UIElement)EntityType.GetValue(control, "Child");
                    if (element.GetType() == type)
                        return element;
                    var temp = GetControlByType(element, type);
                    if (temp != null)
                        return temp;
                }
                if (EntityType.IsProperty(control, "SelectionElement"))
                {
                    var element = (UIElement)EntityType.GetValue(control, "SelectionElement");
                    if (element.GetType() == type)
                        return element;
                    var temp = GetControlByType(element, type);
                    if (temp != null)
                        return temp;
                }
                return null;
            }
        }

    Автор тот же.
    Этот код пошатнул мою психику. А может так и надо. а?
    всё-таки stringly-static programming....

    tubus, 15 Февраля 2011

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

    +165

    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
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    <?     
     include_once("connect.php");
          if (isset($_POST['submit']))
          {
          if(empty($_POST['secondname']))
          {
          echo 'Вы не ввели фамилию';
          }
          elseif(empty($_POST['name']))
          {
          echo 'Вы не ввели свое имя';
          }
          elseif(empty($_POST['thirdname']))
          {
          echo 'Вы не указали свое отчество';
          }
          elseif(empty($_POST['birthday']))
          {
          echo 'Вы не указали дату своего рождения';
          }
              elseif(empty($_POST['stepen']))
          {
          echo 'Вы не указали свою ученую степень';
          }
              elseif(empty($_POST['zvanie']))
          {
          echo 'Вы не указали свое ученое звание';
          }
              elseif(empty($_POST['org']))
          {
          echo 'Вы не указали свою организацию';
          }
              elseif(empty($_POST['adress']))
          {
          echo 'Вы не указали адрес организации';
          }
              elseif(empty($_POST['dolgnost']))
          {
          echo 'Вы не указали свою должность';
          }
              elseif(empty($_POST['doklad']))
          {
          echo 'Вы не указали название доклада';
          }
              elseif(empty($_POST['vid']))
          {
          echo 'Вы не указали вид доклада';
          }
              elseif(empty($_POST['rukovod']))
          {
          echo 'Вы не указали своего руководителя';
          }
              elseif(empty($_POST['mail']))
          {
          echo 'Вы не указали свою электронную почту';
          }
              elseif(empty($_POST['phone']))
          {
          echo 'Вы не указали свой телефон';
          }
          else
          {
          $secondname = $_POST['secondname'];
          $name = $_POST['name'];
          $thirdname = $_POST['thirdname'];
              $birthday = $_POST['birthday'];
              $stepen = $_POST['stepen'];
              $zvanie = $_POST['zvanie'];
              $org = $_POST['org'];
              $adress = $_POST['adress'];
              $dolgnost = $_POST['dolgnost'];
              $doklad = $_POST['doklad'];
              $vid = $_POST['vid'];
              $mail = $_POST['mail'];
              $phone = $_POST['phone'];
          $query = "SELECT `id`
          FROM `Registration`
          WHERE `secondname`='{$secondname}' AND `name`='{$name}' AND `thirdname`='{$thirdname}'
          ";
          $sql = mysql_query($query) or die(mysql_error());
          if (mysql_num_rows($sql) > 0)
          {
          echo 'Такой участник уже существует';
          }
           else
          {
          $query = "INSERT INTO Registration(secondname ,name ,thirdname, birthday, stepen, zvanie, org, adress, dolgnost, doklad, vid, mail, phone)
          VALUES ('$secondname', '$name', '$thirdname', '$birthday', '$stepen', '$zvanie', '$org', '$adress', '$dolgnost', '$doklad', '$vid', '$mail', '$phone',)";
          $result = mysql_query($query) or die(mysql_error());;
          echo 'Регистрация успешно прошла';
          }
          }
          }
          ?>

    qbasic, 13 Февраля 2011

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

    +165

    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 (seismicDriver()->has3DSeismic() && !seismicDriver()->has2DSeismic() ) {
        enableSeismicTab(0, true);
        enableSeismicTab(1, false);
      }
      else if (!seismicDriver()->has3DSeismic() && seismicDriver()->has2DSeismic() ) {
        enableSeismicTab(0, false);
        enableSeismicTab(1, true);
      }
      else if (seismicDriver()->has3DSeismic() && seismicDriver()->has2DSeismic() ) {
        enableSeismicTab(0, true);
        enableSeismicTab(1, true);
      }
      else if (!seismicDriver()->has3DSeismic() && !seismicDriver()->has2DSeismic() ) {
        enableSeismicTab(0, false);
        enableSeismicTab(1, false);
      }

    Этим своим первым постом предворяю серию говнокода, который пишет мой коллега, китаец, имеющий PhD по физике.

    В этом сниппете советую обратить внимание на два компонента в условиях if и на расстановку true и false в соответствии с ними.

    kitaec, 08 Февраля 2011

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

    +161

    1. 1
    throw &std::exception();

    Из того же проекта, что и http://www.govnokod.ru/5581 .
    Естественно это потом иногда удаляется по delete...

    Говногость, 08 Февраля 2011

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

    +144

    1. 1
    -=== 5555 GET ===-

    qbasic, 06 Февраля 2011

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

    +156

    1. 1
    2. 2
    3. 3
    4. 4
    $q = "SELECT tax_rate FROM #__{vm}_tax_rate WHERE tax_country='$country'\n";
    if( !empty($state)) {
    $q .= "AND (tax_state='$state' OR tax_state=' $state ' OR tax_state='-')";
    }

    Странное формирование запроса при загрузке налога по стране и конкретному региону...

    kolibri, 03 Февраля 2011

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

    +162

    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
    <?php
    $door[0]=$arResult["NAME"];
    while($ob = $res->GetNextElement()){
            $arFields = $ob->GetFields();
            $door[]=$arFields["NAME"];
    }
    $door= array_unique($door);
    $model = implode(",", $door);
    $model_polotna = explode(",", $model);
    $sz = sizeof($model_polotna);
    for ($i=0; $i<=$sz; $i++){?>
            <option id="<?echo $i;?>" value="<? echo $model_polotna[$i];?>"><?echo $model_polotna[$i];?></option>
    <?}?>

    Сайт на битриксе...

    torch1313, 03 Февраля 2011

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

    +159

    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
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    95. 95
    96. 96
    97. 97
    98. 98
    <?php
    	$language       =       "en-gb";
    	$value["min"]   =       1;
    	$value["max"]   =       5;
    	$v      =       $value;
    	$lang   =       
    		array 
    			(
    				'ru-ru' => array
    					(
    						'messages' => array
    							(
    								-1      =>      "Введите число от " . $v["min"] . " до " . $v["max"],
    								0       =>      "Вы не ввели число",
    								1       =>      "Ваше число больше",
    								2       =>      "Ваше число меньше",
    								3       =>      "Ура!!! Вы угадали!",
    							),
    						'docment' => array
    							(
    								'guess' => "Угадать"
    							)
    							
    					),
    				'en-gb' => array
    					(
    						'messages' => array
    							(
    								-1      =>      "Enter number beetwen " . $v["min"] . " & " . $v["max"],
    								0       =>      "You are not enter number",
    								1       =>      "You number so big",
    								2       =>      "You number so small",
    								3       =>      "Yahoo! You won!",
    							),
    						'docment' => array
    							(
    								'guess' => "Guess"
    							)
    					)
    			);
    	$entry  =       $lang[!isset($language) ? "ru-ru" : $language];
    	// Запуск сессии
    	session_start();
    	// Функция генерации и присовоения случайного числа
    	function setRandomValue()
    		{
    			global $value;
    			
    			$v      =       $value;
    			$_SESSION["value"]      =       rand($v["min"], $v["max"]);
    		}
    	// Обработчик выигрыша
    	function winHandle()
    		{
    			$uid; // Идентификатор пользователя, например IP
    		}
    	// Обработчик проигрыша
    	function looseHandle()
    		{
    			$uid; // Идентификатор пользователя, например IP
    		}
    	// Проверка числа, если нет присваиваем случайное
    	if (!isset($_SESSION["value"])) {setRandomValue();}
    	// print_r($_SESSION);
    	if (isset($_POST['data']) && isset($_POST['value'])) {
    			if ($_POST["value"] > $_SESSION["value"]) {
    					$type   =       1;
    				}
    			elseif ($_POST["value"] < $_SESSION["value"]) {
    					looseHandle();
    					$type   =       2;
    					
    				}
    			else    {
    					winHandle();
    					$type   =       3;
    					//setRandomValue();
    				}
    		}else   {
    				$type   =       -1;
    			}
    ?>
    <html>
    	<head>
    		<title>Game</title>
    	</head>
    	<body>
    		<center>
    			<h2> <?php print $entry["messages"][$type]; ?> <br /> </h2>
    			<form method="post" action="<?php print $_SERVER['SCRIPT_NAME']; ?>">
    				<input type="hidden" name="data" />
    				<input type="text" name="value" />
    				<input type="submit" value="<?php print $entry["docment"]["guess"]; ?>" />
     
    			</form>
    		</center>
    	</body>
    </html>

    qbasic, 01 Февраля 2011

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