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

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

    +56

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    foreach($succes_type as $value) {
    	if (strcasecmp($typefile, $value) == 0) $resultat = 1;
    }
    		
    # Проверка загружаемого
    if($resultat != 1 OR $resultat == null OR $resultat == 0) {
    	...
    }

    $resultat выше не определялась...

    nethak, 03 Июня 2012

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

    +25

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    #ncld<strm.h>
    vd mn()
    {
    ct<<"Hll, wrld!";
    cn.gt();
    }

    Нхй пргрммрвн.

    dos_, 29 Мая 2012

    Комментарии (28)
  4. Куча / Говнокод #10329

    +116

    1. 1
    append x = foldr (map (:) x) id

    HaskellGovno, 20 Мая 2012

    Комментарии (28)
  5. C++ / Говнокод #9356

    +1007

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    #if defined( HPUX_11_31 )
    #define BDYNAMIC_CAST( CLASS, OBJECT )  (( CLASS ) ( OBJECT ))
    #else
    #define BDYNAMIC_CAST( CLASS, OBJECT )  (dynamic_cast< CLASS >(( OBJECT )))
    #endif

    чуть кофе не похлебнулся.

    при более детальном рассмотрении кода из-за которого это сделали, выяснилось что: (А) в проекте нет ни одного места где нужен динамик каст и (Б) половина наших С++ профисианалов не умеют пользоватся конст кастом (который по коду там и был им нужен, вместе со статик кастом).

    Dummy00001, 08 Февраля 2012

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

    +174

    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
    //присваиваем массиву значения
    	for ($i=0; $i<7; $i++) 
    		{
    		$rand[$i]=rand(1,52);
    		}
    
    //проверяем 50 раз что бы исключить повторы
    for ($i=0; $i<50; $i++) 
    	{
    //проверяем $rand[0] на совпадения
    	if ($rand[0]==$rand[1])
    		{
    		$rand[0]=rand(1,52);
    		}
    	else
    		{
    		if ($rand[0]==$rand[2])
    			{
    			$rand[0]=rand(1,52);
    			}
    		else
    			{
    			if ($rand[0]==$rand[3])
    				{
    				$rand[0]=rand(1,52);
    				}
    			else
    				{
    				if ($rand[0]==$rand[4])
    					{
    					$rand[0]=rand(1,52);
    					}
    				else
    					{
    					if ($rand[0]==$rand[5])
    						{
    						$rand[0]=rand(1,52);
    						}
    					else
    						{
    						if ($rand[0]==$rand[6])
    							{
    							$rand[0]=rand(1,52);
    							}
    						}
    					}
    				}
    			}
    		}
    
    //проверяем $rand[1] на совпадения
    	if ($rand[1]==$rand[0])
    		{
    		$rand[1]=rand(1,52);
    		}
    	else
    		{
    		if ($rand[1]==$rand[2])
    			{
    			$rand[1]=rand(1,52);
    			}
    		else
    			{
    			if ($rand[1]==$rand[3])
    				{
    				$rand[1]=rand(1,52);
    				}
    			else
    				{
    				if ($rand[1]==$rand[4])
    					{
    					$rand[1]=rand(1,52);
    					}
    				else
    					{
    					if ($rand[1]==$rand[5])
    						{
    						$rand[1]=rand(1,52);
    						}
    					else
    						{
    						if ($rand[1]==$rand[6])
    							{
    							$rand[1]=rand(1,52);
    							}
    						}
    					}
    				}
    			}
    		}

    Генератор "не повторяющихся цифр от 1 до 52"
    Влезло 2 if-блока из семи в оригинале :)

    govnokod-observer, 07 Февраля 2012

    Комментарии (28)
  7. Java / Говнокод #9299

    +83

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    class o{
    	public  o o(o o){
    			return o;
    	}
    }

    Может не в тему, но выглядит забавно.

    levsha128, 02 Февраля 2012

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

    −116

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    NSString *selectedDate2=appDelegate.date;
        NSString *y=[selectedDate2 substringWithRange:NSMakeRange(0,4)];
        NSString *m=[selectedDate2 substringWithRange:NSMakeRange(5,2)];
        NSString *d=[selectedDate2 substringWithRange:NSMakeRange(8,2)];
        NSString *selectedDate=[NSString stringWithFormat:@"%@-%@-%@",d,m,y];
        NSLog(@"Selected Date is %@",selectedDate);

    парсинг даты по-индусски

    realsugar, 15 Декабря 2011

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

    +84

    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
    private enum FolderType{inbound, outbound, archive, rejected}
    
    private String inboundName = "inbound";
    private String outboundName = "outbound";
    private String archiveName = "archive";
    private String rejectedName = "rejected";
    
    // чуть ниже....
    private String getFolderTypeName(FolderType type){
        switch (type){
            case inbound:
                return inboundName;
            case outbound:
                return outboundName;
            case archive:
                return archiveName;
            case rejected:
                return rejectedName;
            default:
                throw new IllegalArgumentException(type.toString());
        }
    }

    Похоже, кто-то так и не въехал в жабьи енумы.

    roman-kashitsyn, 12 Декабря 2011

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

    +1000

    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
    bool __fastcall TItsString::operator == (const char* sVal) const
    {
      bool Empty1 = ((FStringValue == NULL) || (FStringValue[0] == 0));
      bool Empty2 = ((sVal == NULL) || (sVal[0] == 0));
      if (Empty1 && Empty2) return true;
      if (Empty1 || Empty2) return false;
      int i,j,k;
      for(i=0; FStringValue[i] && (GET_LOWER_CHAR(FStringValue[i]) == GET_LOWER_CHAR(sVal[i])); i++);
      if ((FStringValue[i] == 0) && (sVal[i] == 0)) return true;
      j=i; k=i;
      if (sVal[k] == 0)  for(; FStringValue[i] == 0x20; i++);
      if (FStringValue[k] == 0) for(; sVal[j] == 0x20; j++);
      if ((FStringValue[i] == 0) && (sVal[j] == 0)) return true;
      return false;
    }

    Try, 03 Декабря 2011

    Комментарии (28)
  11. JavaScript / Говнокод #8528

    +153

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    function isInteger(s)
    {
    	var i;
        for (i = 0; i < s.length; i++)
    	{   
            // Check that current character is number.
            var c = s.charAt(i);
            if (((c < "0") || (c > "9"))) return false;
        }
        // All characters are numbers.
        return true;
    }

    феерично

    DrFreez, 15 Ноября 2011

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