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

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

    0

    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
    // http://www.compiler.su/prodolzhenie-tsikla-i-vykhod-iz-nego.php
    // В PHP выход из вложенного цикла выглядит, на мой взгляд, значительно элегантнее. После «break» указывается количество вложенных циклов, которые должен «покинуть» оператор «break». В приведённом примере, который аналогичен приведённому выше для Java, «break» должен «пересечь» две фигурные скобки «}», чтобы оказаться за пределами двух циклов.
    
    for($i=0; $i < $Imax; ++$i)
    {
       // ...
       for($j=0; $j < $Jmax; ++$j)
       {
          // ...
          if(условие) 
              break 2;
          // ...
       }
       // ...
    }

    Интересно, а почему б нечто подобное не сделать для функций? Ну например есть функция a() которая вызывает функцию b() которая вызывает функцию c(), которая вызывает функцию d(), и например в функции d() чтоб сделать особый return_3, который бы вернул управление на три уровня вниз, сразу в функцию a()? Хотя не, хуйня, надо ведь еще знать, какой там тип возвращается в функцию a() из функции b().
    То ли дело ассемблер. Можно тупо отмотать стек в нужное место

    j123123, 16 Февраля 2018

    Комментарии (64)
  3. JavaScript / Говнокод #23444

    +8

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    Для кульминации ебаных тендеций ебаных информационных технологий,
    предлагаю выпустить новые процессоры интел со встроенным джаваскриптом.
    Никакого больше ассемблера, никаких ядер, драйверов, ничего не нужно, на
    каждом процессоре будет встроенный хардварный веб-сервер с нодежс,
    общение с видеокартой, памятью, периферией будет только с помощью
    API-вызовов, теперь каждый альтернативно интеллектуальный 
    жаваскрипт-разработчик сможет почувствовать себя системным программистом

    j123123, 22 Октября 2017

    Комментарии (64)
  4. Perl / Говнокод #23358

    +3

    1. 1
    print for <>

    Базовая функциональность программы cat на perl. Кто короче?
    (только возможности самого языка без exec и подобных, шеллы вне олимпиады)

    Elvenfighter, 24 Сентября 2017

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

    +4

    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
    // ...
    if (isset($_GET["download"])) {
    	include "./download.inc.php";
    } elseif (isset($_GET["table"])) {
    	include "./table.inc.php";
    } elseif (isset($_GET["schema"])) {
    	include "./schema.inc.php";
    } elseif (isset($_GET["dump"])) {
    	include "./dump.inc.php";
    } elseif (isset($_GET["privileges"])) {
    	include "./privileges.inc.php";
    } elseif (isset($_GET["sql"])) {
    	include "./sql.inc.php";
    } elseif (isset($_GET["edit"])) {
    	include "./edit.inc.php";
    } elseif (isset($_GET["create"])) {
    	include "./create.inc.php";
    } elseif (isset($_GET["indexes"])) {
    	include "./indexes.inc.php";
    } elseif (isset($_GET["database"])) {
    	include "./database.inc.php";
    } elseif (isset($_GET["scheme"])) {
    	include "./scheme.inc.php";
    } elseif (isset($_GET["call"])) {
    	include "./call.inc.php";
    } elseif (isset($_GET["foreign"])) {
    	include "./foreign.inc.php";
    } elseif (isset($_GET["view"])) {
    	include "./view.inc.php";
    } elseif (isset($_GET["event"])) {
    	include "./event.inc.php";
    } elseif (isset($_GET["procedure"])) {
    	include "./procedure.inc.php";
    } elseif (isset($_GET["sequence"])) {
    	include "./sequence.inc.php";
    } elseif (isset($_GET["type"])) {
    	include "./type.inc.php";
    } elseif (isset($_GET["trigger"])) {
    	include "./trigger.inc.php";
    } elseif (isset($_GET["user"])) {
    	include "./user.inc.php";
    } elseif (isset($_GET["processlist"])) {
    	include "./processlist.inc.php";
    } elseif (isset($_GET["select"])) {
    	include "./select.inc.php";
    } elseif (isset($_GET["variables"])) {
    	include "./variables.inc.php";
    } elseif (isset($_GET["script"])) {
    	include "./script.inc.php";
    } else {
    	include "./db.inc.php";
    }
    // ...

    https://github.com/vrana/adminer/blob/master/adminer/index.php
    p.s хотя сама штука полезная, пару раз выручала

    alex228, 22 Сентября 2017

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

    +506

    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
    if(isset($db_array["reference"]) && is_array($db_array["reference"]))
    		$ref = $db_array["reference"];
    	elseif(isset($db_array["REFERENCE"]) && is_array($db_array["REFERENCE"]))
    		$ref = $db_array["REFERENCE"];
    	else
    		$ref = array();
    
    	if(isset($db_array["reference_id"]) && is_array($db_array["reference_id"]))
    		$ref_id = $db_array["reference_id"];
    	elseif(isset($db_array["REFERENCE_ID"]) && is_array($db_array["REFERENCE_ID"]))
    		$ref_id = $db_array["REFERENCE_ID"];
    	else
    		$ref_id = array();

    bitrix/modules/main/tools.php:182

    maxyc, 25 Августа 2016

    Комментарии (64)
  7. Си / Говнокод #20860

    +262

    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
    #include <stdio.h>
    #include <stdlib.h>
    #include <math.h>
    #define e if
    #define h while
    #define s return
    #define v NULL
    #define r else
    #define u case
    #define C switch
    #define D for
    #define L0 typedef
    #define L int
    L0 char S;L0 S*Z;L0 Z*U;L0 double N;
    L0 struct Q{L Z;union{N b;S c;}M;struct Q*w;struct Q*q;}Q;
    Q*K(L w){Q*n=(Q*)malloc(sizeof(Q));e(v==n)exit(1);n->Z=w;s n;}
    void A(Z g,U t){h(' '==*g)g++;*t=g;}
    Q*V(Z g,U t){Q*n=K(2);n->M.b=strtod(g,t);s n;}
    Q*I(Z g,U t){e('+'!=*g)s v;Q*n=K(1);n->M.c='+';++*t;s n;}
    Q*W(Z g,U t){e('x'!=*g)s v;Q*n=K(20);g++;e(*g<'0'||*g>'9'){n->M.b=1;*t=g;}r{n->M.b=strtod(g,t);e(*t==g)n->M.b=1;}s n;}
    Q*J(Z g,U t){Q*n,*p=v;h(*g){A(g,&g);Q*l=V(g,&g);A(g,&g);Q*m=W(g,&g);Q*o;e(v==m)o=l;r{o=K(1);o->M.c='*';o->w=l;o->q=m;}e(v==p)n=o;r{p->w=n;p->q=o;n=p;}A(g,&g);p=I(g,&g);e(v==p){*t=g;s n;}}}
    Q**E(Z g){L n=1,i;Z t=g;h(*t){e(';'==*t)n++;t++;}Q**R=(Q**)malloc((n+1)*sizeof(Q*));e(v==R)s v;D(i=0;i<n;++i){R[i]=J(g,&g);e(*g!=';'&&*g!=0)s v;e(v==R[i])s v;g++;}R[n]=v;s R;}
    N P(Q*I,N a){C(I->Z){u 1:C(I->M.c){u '+':s P(I->w,a)+P(I->q,a);u '*':s P(I->w,a)*P(I->q,a);u '/':s P(I->w,a)/P(I->q,a);u '-':s P(I->w,a)-P(I->q,a);}u 2:s I->M.b;u 20:s pow(a,I->M.b);}}
    N O(Q*I){N x=0,y=1,z=2,Z=P(I,x),X=P(I, y),H=P(I,z),j=1e-10;L i;D(i=0;i<100&&fabs(z-y)>j&&fabs(x-y)>j&&fabs(X)>j;i++){e(Z*X<0){z=y;H=X;}r e(H*X<0){x=y;Z=X;}r{N d=z-x;x=x-d;z=z+d;Z=P(I,x);X=P(I,y);}y=(z+x)/2;X=P(I,y);}s y;}
    Z B(Q**A){L n=0,i,j,d=0;D(;A[n]!=v;n++);Z M=(Z)malloc(n*10+1);e(v==M)s v;D(i=0;A[i]!=v;i++)D(j=0;j<10;j++){
      M[i*10+j-d]=(S)fmod(12.51*O(A[i])+j*17,256);
    e(!M[i*10+j-d])d++;}M[n*10-d]=0;s M;}
    L T(Z g,Z M){Z k=M;h(*g){*g++^=*k++;e(!*k)k=M;}s(0);}
    L main(void){
        Q**n=E("2.0x5+6.2x2+7;0.3x6.1+6x5+1");
        L i;
        Z k=B(n);
        S w[]={-91,-35,97,113,89,37,113,32,28,-10,124,67,93,32,123,70,63,-19,-71,-123,-114,45,109,64,96,57,13,7,-91,0};
        T(w,k);
        printf("%s\n",w);
    }

    Nastenka1998, 19 Августа 2016

    Комментарии (64)
  8. Куча / Говнокод #20357

    +5

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    [color=blue][u]https://otvet.imgsmail.ru/download/1bceee23eb24bf87101d513013c175aa_i-215.jpg[/u][/color]
    
    [color=blue][u]https://hsto.org/files/fb4/363/3e4/fb43633e4de04988b9f64eeb0c521f68.png[/u][/color]
    
    [color=blue][u]https://cdn.scratch.mit.edu/scratchr2/static/images/hp-video-screenshot.png[/u][/color]

    Можете бить ногами за передачу кода по ссылке, но на ГК картинки по значению не проходят.

    inkanus-gray, 09 Июля 2016

    Комментарии (64)
  9. C++ / Говнокод #19810

    +1

    1. 1
    2. 2
    3. 3
    sector_t * s = &sectors[secnum];
    if (!s->floorplane.isSlope()) s->reflect[sector_t::floor] = arg1/255.f;
    if (!s->ceilingplane.isSlope()) sectors[secnum].reflect[sector_t::ceiling] = arg2/255.f;

    присвоил переменной и во второй раз не использовал

    UsernameAK, 13 Апреля 2016

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

    +2

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    for(int c = 0; c < 2; ++c) 
    {
        if(c) 
        {
            // do something 
        }
        else 
        {
            // do something else
        }
    }

    Одна из причин необходимости разворачивания циклов.

    absolut, 19 Ноября 2015

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

    +7

    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
    $guid = @sprintf("%X%X%X%X%X%X%X%X-%X%X%X%X-%X%X%X%X-%X%X%X%X-%X%X%X%X%X%X%X%X%X%X%X%X",
    				@rand() % 16,
    				@rand() % 16,
    				@rand() % 16,
    				@rand() % 16,
    				@rand() % 16,
    				@rand() % 16,
    				@rand() % 16,
    				@rand() % 16,
    				@rand() % 16,
    				@rand() % 16,
    				@rand() % 16,
    				@rand() % 16,
    				@rand() % 16,
    				@rand() % 16,
    				@rand() % 16,
    				@rand() % 16,
    				@rand() % 16,
    				@rand() % 16,
    				@rand() % 16,
    				@rand() % 16,
    				@rand() % 16,
    				@rand() % 16,
    				@rand() % 16,
    				@rand() % 16,
    				@rand() % 16,
    				@rand() % 16,
    				@rand() % 16,
    				@rand() % 16,
    				@rand() % 16,
    				@rand() % 16,
    				@rand() % 16,
    				@rand() % 16);

    kindofbear, 30 Сентября 2015

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