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

    В номинации:
    За время:
  2. 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)
  3. 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)
  4. 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)
  5. 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)
  6. 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)
  7. 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)
  8. PHP / Говнокод #8491

    +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
    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
    function section($sct,$grp = 'all') {
    		global $g,$a,$d,$lists,$master_list,$currency;
    		$access = ac_section($sct,$this->adminmode);
    		if ($access['r'] == 'no' )  {header("Location: /errors/all/403");}
    		$master = q1("SELECT * FROM `_s` WHERE `_id`='".$sct."' AND `_l`='".GetLanguage()."'");
    		if (isset($_POST['pcounts'])) {
    			$_SESSION['_pcount']=(int)$_POST['pcounts'];
    		} elseif (isset($_GET['pcounts'])) {
    			$_SESSION['_pcount']=(int)$_GET['pcounts'];
    		}
    		if (isset($_SESSION['_pcount'])) $master['_pcount']=$_SESSION['_pcount'];
            $master_struct = $this->Struct_fields(qa("SHOW COLUMNS FROM `_s`"));
    		$grps = qa("SELECT * FROM `_g` WHERE `_s`='".$sct."' AND `_g`='".$grp."' AND `_l`='".GetLanguage()."'".((!empty($a[0]['con']))?(" AND `header` LIKE '%".$a[0]['con']."%'"):('')).((!empty($a[0]['gby']))?(" ORDER BY `".$a[0]['gby']."`".((!empty($a[0]['gdir']))?(' DESC'):(' ASC'))):(" ORDER BY ".$master['_sorting'])).((!empty($a[0]['gfrom']))?(' LIMIT '.$a[0]['gfrom'].','.((!empty($a[0]['gper']))?($a[0]['gper']):((!empty($master['_gcount']))?($master['_gcount']):('10')))):(' LIMIT 0,'.((!empty($a[0]['gper']))?($a[0]['gper']):((!empty($master['_gcount']))?($master['_gcount']):('10'))))));
    		$this->cq++;
    		$grps_nav_count = qa("SELECT count(*) `c` FROM `_g` WHERE `_s`='".$sct."' AND `_g`='".$grp."' AND `_l`='".GetLanguage()."'".((!empty($a[0]['con']))?(" AND `header` LIKE '%".$a[0]['con']."%'"):('')));
    		$grps_len = sizeof($grps);
    		$grps_struct = $this->Struct_fields(qa("SHOW COLUMNS FROM `_g`"));
    		$pgs = qa("SELECT * FROM `_p` WHERE `_s`='".$sct."' AND `_g`='".$grp."' AND `_l`='".GetLanguage()."'".((!empty($a[0]['con']))?(" AND `header` LIKE '%".$a[0]['con']."%'"):('')).((!empty($a[0]['by']))?(" ORDER BY `".$a[0]['by']."`".((!empty($a[0]['dir']))?(' DESC'):(' ASC'))):(" ORDER BY ".$master['_sorting'])).((!empty($a[0]['from']))?(' LIMIT '.$a[0]['from'].','.((!empty($a[0]['per']))?($a[0]['per']):((!empty($master['_pcount']))?($master['_pcount']):('10')))):(' LIMIT 0,'.((!empty($a[0]['per']))?($a[0]['per']):((!empty($master['_pcount']))?($master['_pcount']):('10'))))));
    		$this->cq++;
    		$pgs_nav_count = qa("SELECT count(*) `c` FROM `_p` WHERE `_s`='".$sct."' AND `_g`='".$grp."' AND `_l`='".GetLanguage()."'".((!empty($a[0]['con']))?(" AND `header` LIKE '%".$a[0]['con']."%'"):('')));
    		$this->cq++;
    		$pgs_len = sizeof($pgs);
    		$pgs_struct = $this->Struct_fields(qa("SHOW COLUMNS FROM `_p`"));
    		$list_g = '';
    		$list_p = '';
    // Дальше еще строк 200 подобного кода

    Нашел бэкап сайта, который надо было дорабатывать
    И это только одна функция одного из классов. Всего около 15 классов, в каждом по 30-40 функций.
    При этом есть еще куча файлов вызываемых напрямую(отправка сообщений, добавление/редактирование/удаление данных в админке), хотя и используется mod_rewrite

    долго думал, потом переписал нужные куски заново

    Bagration, 11 Ноября 2011

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

    −115

    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
    function MONEY_REDRAW() {
    	mc_ROOM.mc_MONEY_A._0.gotoAndStop(CHR_MONEY_A%10+1)
    	mc_ROOM.mc_MONEY_A._1.gotoAndStop(int(CHR_MONEY_A/10)%10+1)
    	mc_ROOM.mc_MONEY_A._2.gotoAndStop(int(CHR_MONEY_A/100)%10+1)
    	mc_ROOM.mc_MONEY_A._3.gotoAndStop(int(CHR_MONEY_A/1000)%10+1)
    	mc_ROOM.mc_MONEY_A._4.gotoAndStop(int(CHR_MONEY_A/10000)%10+1)
    	mc_ROOM.mc_MONEY_A._5.gotoAndStop(int(CHR_MONEY_A/100000)%10+1)
    	
    	mc_ROOM.mc_MONEY_B._0.gotoAndStop(CHR_MONEY_B%10+1)
    	mc_ROOM.mc_MONEY_B._1.gotoAndStop(int(CHR_MONEY_B/10)%10+1)
    	mc_ROOM.mc_MONEY_B._2.gotoAndStop(int(CHR_MONEY_B/100)%10+1)
    	mc_ROOM.mc_MONEY_B._3.gotoAndStop(int(CHR_MONEY_B/1000)%10+1)
    	mc_ROOM.mc_MONEY_B._4.gotoAndStop(int(CHR_MONEY_B/10000)%10+1)
    	mc_ROOM.mc_MONEY_B._5.gotoAndStop(int(CHR_MONEY_B/100000)%10+1)
    	
    	mc_SHOP.mc_MONEY_C._0.gotoAndStop(CHR_MONEY_A%10+1)
    	mc_SHOP.mc_MONEY_C._1.gotoAndStop(int(CHR_MONEY_A/10)%10+1)
    	mc_SHOP.mc_MONEY_C._2.gotoAndStop(int(CHR_MONEY_A/100)%10+1)
    	mc_SHOP.mc_MONEY_C._3.gotoAndStop(int(CHR_MONEY_A/1000)%10+1)
    	mc_SHOP.mc_MONEY_C._4.gotoAndStop(int(CHR_MONEY_A/10000)%10+1)
    	mc_SHOP.mc_MONEY_C._5.gotoAndStop(int(CHR_MONEY_A/100000)%10+1)
    	
    	mc_SHOP.mc_MONEY_D._0.gotoAndStop(CHR_MONEY_B%10+1)
    	mc_SHOP.mc_MONEY_D._1.gotoAndStop(int(CHR_MONEY_B/10)%10+1)
    	mc_SHOP.mc_MONEY_D._2.gotoAndStop(int(CHR_MONEY_B/100)%10+1)
    	mc_SHOP.mc_MONEY_D._3.gotoAndStop(int(CHR_MONEY_B/1000)%10+1)
    	mc_SHOP.mc_MONEY_D._4.gotoAndStop(int(CHR_MONEY_B/10000)%10+1)
    	mc_SHOP.mc_MONEY_D._5.gotoAndStop(int(CHR_MONEY_B/100000)%10+1)
    	
    	mc_ROOM.mc_MONEY_A.play()
    	mc_ROOM.mc_MONEY_B.play()
    	mc_SHOP.mc_MONEY_C.play()
    	mc_SHOP.mc_MONEY_D.play()
    }

    Магия чисел

    kyzi007, 11 Ноября 2011

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

    +133

    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
    #include <stdio.h>
    #include <stdlib.h>
    
    #define $ /* */
    
    #define ARGV argv
    
    #define if($x) int main(int argc, char *argv[])
    
    #define $start 1  
    
    #if PERL
     sub atoi { $_[0] }
     $ argc=@ARGV;
     $ start=0;
     $ x=1;
    #endif
    
    if($x)
    {
     int $ sum;
     int $ i;
     
     $ sum=0;
    
     for ( $ i = $start; $ i < $ argc ; $ i++) {
       $ sum += atoi ($ ARGV [$ i]);}
    
     printf("%d\n", $ sum);
    
    exit(0);
    }

    Пришла в голову вот такая вот идея, уже пишу серьезный проект, а вам даю на оценку вот такой вот код.
    Думаю вообще связать это все дело еще и с PHP, вот таким вот образом:
    <?php system('./home/Cuberpunk/private/iGuruCodder/SeriousProject/main 15 12 15'); ?>
    Хотел запостить на Хабр, но нету там аккаунта, поэтому пишу сюда ;)
    Оценивайте, комментируйте. Сейчас работаю над крупным проектом на эту тему, ждите.
    Если кому интересно, то вот моя темка на форуме, где все более подробно описано:
    http://forum.antichat.ru/threadedpost2883414.html

    Cyber-punk, 01 Ноября 2011

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

    +1014

    1. 1
    2. 2
    3. 3
    4. 4
    if (strlen(Uid.c_str()) > 0)
    {
      // ...
    }

    собственно, std::string Uid;

    JeremyW, 27 Октября 2011

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