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

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

    −80

    1. 1
    2. 2
    self.data = [[NSMutableData alloc] initWithLength:0];
    [data release];

    Indian code.
    So deep.

    ivandjeferov, 26 Мая 2013

    Комментарии (16)
  3. C++ / Говнокод #13033

    +14

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    uint8_t* head = (uint8_t*) Buffer::Data(buffer);
    uint8_t* tail = head + Buffer::Length(buffer) - 1;
    
    // xor swap, just because I can
    while (head < tail) *head ^= *tail, *tail ^= *head, *head ^= *tail, ++head, --tail;

    https://github.com/bnoordhuis/node-buffertools/blob/master/buffertools.cc#L157

    movaxbx, 22 Мая 2013

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

    +13

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    bool[] Inmask;
    ....
            private void discreteOIForm_Load(object sender, EventArgs e)
            {
                if (icpI_measure.Connect() && icpO_measure.Connect())
                {
                    Inmask = new bool[1];
                    Inmask[Convert.ToInt32(0)] = true;
                }
            }

    Новоприбывший сотрудник откладывает вот такое. Это он сделал после совета использовать маски. Вы когда-нибудь видели массив из одного элемента? Я тоже нет.

    phys-tech, 07 Мая 2013

    Комментарии (16)
  5. Objective C / Говнокод #12964

    −100

    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
    {
    	//replace common symbols...
    	[createWrapperName setStringValue:[[createWrapperName stringValue] stringByReplacingOccurrencesOfString:@"&" withString:@"and"]];
    	[createWrapperName setStringValue:[[createWrapperName stringValue] stringByReplacingOccurrencesOfString:@"!" withString:@""]];
    	[createWrapperName setStringValue:[[createWrapperName stringValue] stringByReplacingOccurrencesOfString:@"#" withString:@""]];
    	[createWrapperName setStringValue:[[createWrapperName stringValue] stringByReplacingOccurrencesOfString:@"$" withString:@""]];
    	[createWrapperName setStringValue:[[createWrapperName stringValue] stringByReplacingOccurrencesOfString:@"%" withString:@""]];
    	[createWrapperName setStringValue:[[createWrapperName stringValue] stringByReplacingOccurrencesOfString:@"^" withString:@""]];
    	[createWrapperName setStringValue:[[createWrapperName stringValue] stringByReplacingOccurrencesOfString:@"*" withString:@""]];
    	[createWrapperName setStringValue:[[createWrapperName stringValue] stringByReplacingOccurrencesOfString:@"(" withString:@""]];
    	[createWrapperName setStringValue:[[createWrapperName stringValue] stringByReplacingOccurrencesOfString:@")" withString:@""]];
    	[createWrapperName setStringValue:[[createWrapperName stringValue] stringByReplacingOccurrencesOfString:@"+" withString:@""]];
    	[createWrapperName setStringValue:[[createWrapperName stringValue] stringByReplacingOccurrencesOfString:@"=" withString:@""]];
    	[createWrapperName setStringValue:[[createWrapperName stringValue] stringByReplacingOccurrencesOfString:@"|" withString:@""]];
    	[createWrapperName setStringValue:[[createWrapperName stringValue] stringByReplacingOccurrencesOfString:@"\\" withString:@""]];
    	[createWrapperName setStringValue:[[createWrapperName stringValue] stringByReplacingOccurrencesOfString:@"?" withString:@""]];
    	[createWrapperName setStringValue:[[createWrapperName stringValue] stringByReplacingOccurrencesOfString:@">" withString:@""]];
    	[createWrapperName setStringValue:[[createWrapperName stringValue] stringByReplacingOccurrencesOfString:@"<" withString:@""]];
    	[createWrapperName setStringValue:[[createWrapperName stringValue] stringByReplacingOccurrencesOfString:@";" withString:@""]];
    	[createWrapperName setStringValue:[[createWrapperName stringValue] stringByReplacingOccurrencesOfString:@":" withString:@""]];
    	[createWrapperName setStringValue:[[createWrapperName stringValue] stringByReplacingOccurrencesOfString:@"@" withString:@""]];
    	// ...
    }

    Так-то.

    Источник: https://sourceforge.net/p/wineskin/code/ci/master/tree/Wineskin%20Winery/Wineskin_WineryAppDelegate.m

    P. S. А тулза, между прочим, нужная. Наткнулся на багу, полез фиксить. Увидев AppDelegate.m на 2700+ строк, заинтересовался, и не зря: вышеприведенное — мелочи.

    UncleAli, 03 Мая 2013

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

    +136

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    if (best == null)
                {
                    return null;
                }
                else
                {
                    return best;
                }

    Psilon, 19 Апреля 2013

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

    +158

    1. 1
    ($property['valid'] == 'ошибка') !== TRUE

    вот и бери стажеров на работу

    CRRaD, 15 Апреля 2013

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

    +11

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    typedef ::boost::array<T, item_amount+1> not_raw_array;
    union data
    {
    	 not_raw_array m_raw_array;//Most members of boost::array not suitable for call with raw array. Be careful!
    };

    LispGovno, 27 Марта 2013

    Комментарии (16)
  9. Java / Говнокод #12798

    +83

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    private static boolean getIsDeclinedByRules(boolean oldIsSatisfy, boolean oldIsDeclined, boolean newIsSatisfy) {
        if (!oldIsSatisfy &&  oldIsDeclined && !newIsSatisfy) return true;
        if (!oldIsSatisfy &&  oldIsDeclined &&  newIsSatisfy) return false;
        if (!oldIsSatisfy && !oldIsDeclined && !newIsSatisfy) return true;
        if (!oldIsSatisfy && !oldIsDeclined &&  newIsSatisfy) return false;
        if ( oldIsSatisfy &&  oldIsDeclined && !newIsSatisfy) return true;
        if ( oldIsSatisfy &&  oldIsDeclined &&  newIsSatisfy) return true;
        if ( oldIsSatisfy && !oldIsDeclined && !newIsSatisfy) return true;
        if ( oldIsSatisfy && !oldIsDeclined &&  newIsSatisfy) return false;
        return true;
      }

    glprizes, 25 Марта 2013

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

    +151

    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
    if (anidub::$exucution)
    		{
    			//получаем страницу для парсинга
    			$page = anidub::getContent($torrent_id, anidub::$sess_cookie);
    
    			if ( ! empty($page))
    			{
    				//ищем на странице дату регистрации торрента
    				if (preg_match("/<td width=\"\" class=\"heading\" valign=\"top\" align=\"right\">Добавлен<\/td><td valign=\"top\" align=\"left\">(.*)<\/td>/", $page, $array))
    				{
    					//проверяем удалось ли получить дату со страницы
    					if (isset($array[1]))
    					{
    						//если дата не равна ничему
    						if ( ! empty($array[1]))
    						{
    							//сбрасываем варнинг
    							Database::clearWarnings($tracker);
    							//приводим дату к общему виду
    							$date = $array[1];
    							$date_str = anidub::dateNumToString($array[1]);
    							//если даты не совпадают, перекачиваем торрент
    							if ($date != $timestamp)
    							{
                                    preg_match('/<a href=\"download\.php\?id=(\d{2,6})&name=(.*)\">/U', $page, $array);
                                    $torrent_id = $array[1];
                                    $torrent_id_name = $array[2];
    								//сохраняем торрент в файл
    								$torrent = anidub::getTorrent($torrent_id, $torrent_id_name, anidub::$sess_cookie);
    								$client = ClientAdapterFactory::getStorage('file');
    								$client->store($torrent, $id, $tracker, $name, $torrent_id, $timestamp);
    								//обновляем время регистрации торрента в базе
    								Database::setNewDate($id, $date);
    								//отправляем уведомлении о новом торренте
    								$message = $name.' обновлён.';
    								Notification::sendNotification('notification', $date_str, $tracker, $message);
    							}
    						}
    						else
    						{
    							//устанавливаем варнинг
    							if (anidub::$warning == NULL)
    							{
    								anidub::$warning = TRUE;
    								Errors::setWarnings($tracker, 'not_available');
    							}
    							//останавливаем процесс выполнения, т.к. не может работать без кук
    							anidub::$exucution = FALSE;
    						}
    					}
    					else
    					{
    						//устанавливаем варнинг
    						if (anidub::$warning == NULL)
    						{
    							anidub::$warning = TRUE;
    							Errors::setWarnings($tracker, 'not_available');
    						}
    						//останавливаем процесс выполнения, т.к. не может работать без кук
    						anidub::$exucution = FALSE;
    					}
    				}
    				else
    				{
    					//устанавливаем варнинг
    					if (anidub::$warning == NULL)
    					{
    						anidub::$warning = TRUE;
    						Errors::setWarnings($tracker, 'not_available');
    					}
    					//останавливаем процесс выполнения, т.к. не может работать без кук
    					anidub::$exucution = FALSE;
    				}
    			}			
    			else
    			{
    				//устанавливаем варнинг
    				if (anidub::$warning == NULL)
    				{
    					anidub::$warning = TRUE;
    					Errors::setWarnings($tracker, 'not_available');
    				}
    				//останавливаем процесс выполнения, т.к. не может работать без кук
    				anidub::$exucution = FALSE;
    			}
    		}

    Классическая лесенка пыхомакаки.

    Stallman, 23 Марта 2013

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

    +139

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    <?php
    function string_size($string){
    $temporary_file = md5(rand().rand()).".temporary";
    $a=fopen($temporary_file,"w+");
    fwrite($a,$string);
    $size = filesize($temporary_file);
    fclose($a);
    unset($temporary_file);
    return $size;
    }
    ?>

    Аналог функции filesize() для строк.

    angrybird, 11 Марта 2013

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