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

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

    +1014

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

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

    JeremyW, 27 Октября 2011

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

    +145

    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
    int nSymb;
    char pCh[32];
    char tbldec[] = "0123456789000000";
    char tblhex[] = "0123456789ABCDEF";
    
    void MyDWtoStr(DWORD dw)
    {
      __asm
      {
        mov eax,dw
        test eax,eax
        jnz short lab1
        mov esi,1//esi = nSymb = 1
        mov byte ptr [pCh],30h
        jmp short lab2
    lab1:
        mov ebx,eax
        mov ecx,eax//eax = ebx = ecx = dw
        xor esi,esi//esi = nSymb = 0
    lab4:
        mov eax,ecx//eax=ecx=b
        mov ebx,0Ah//ebx=10
        xor edx,edx
        div ebx
        mov ebx,edx//ebx=a=b%10
        mov al,[tbldec+ebx]
        mov [pCh+esi],al//pCh[nSymb]=tbldec[a]
        inc esi//nSymb++
        mov eax,ecx
        sub eax,ebx//eax=b-a
        mov ecx,0Ah
        xor edx,edx
        div ecx
        mov ecx,eax//ecx=b=(b - a)/10;
        test ecx,ecx
        jnz short lab4
    
        mov eax,esi
        dec eax//eax = i = nSymb-1
        jmp short lab5
    lab6:
        mov edx,esi//edx = nSymb
        sub edx,eax//edx = nSymb-i
        mov bl,[edx+pCh-1]//bl = pCh[nSymb-i-1];
        mov cl,[eax+pCh]
        mov [edx+pCh-1],cl//pCh[nSymb-i-1]=pCh[i];
        mov [eax+pCh],bl//pCh[i]=pCh[nSymb];
        dec eax
    lab5:
        mov ecx,eax
        shl ecx,1//add ecx,ecx
        cmp ecx,esi
        jge short lab6
    lab2:
        mov dword ptr [nSymb],esi
        mov byte ptr [esi+pCh],0
      }
    }
    
    DWORD MyStrtoDW(char *pch)
    {
      DWORD a;
      __asm
      {
        mov edi,pch
        xor eax,eax//eax = a
        xor esi,esi//esi = i
        mov ecx,10
        jmp short lab2
    lab1:
        mul ecx
        and ebx,0FFh
        sub ebx,48
        add eax,ebx
        inc esi
    lab2:
        mov bl,byte ptr [edi+esi]
        test bl,bl
        jnz short lab1
        mov a,eax
      }
      return a;
    }

    >Хочу представить вашему вниманию очень быстрые функции для преобразований DWORD <---> char [].

    http://www.gamedev.ru/flame/forum/?id=153979

    AnimeGovno-_-, 25 Октября 2011

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

    +169

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    if ( 1 ) { 
     //километровый говнокод 
    } else {
     exit("error");
    }

    Чуть со смеху не умер когда else увидел

    airrussia, 20 Октября 2011

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

    −154

    1. 1
    2. 2
    Задача о двух стеках. Как продвигается решение?
    Через 2 часа будет рабочий вариант.

    alexoy, 09 Октября 2011

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