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

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

    +129

    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
    <macrodef name="foreach">
      <attribute name="target"/>
      <attribute name="file-property"/>
      <element name="files"/>
      <element name="args"/>
      <sequential>
        <local name="foreach.files"/>
        <local name="foreach.target"/>
        <local name="foreach.file-property"/>
        <local name="foreach.args"/>
        <property name="foreach.target" value="@{target}"/>
        <property name="foreach.file-property" value="@{file-property}"/>
        <pathconvert property="foreach.files">
          <files/>
        </pathconvert>
        <propertyset id="foreach.args">
          <args/>
        </propertyset>
        <property name="foreach.args" refid="foreach.args"/>
        <property name="foreach.target" value="@{target}"/>
        <!-- there is no better way to do this at the moment
             property names and values should not contain comma-space and equals signs
        -->
        <script language="javascript"><![CDATA[
           var files = project.getProperty("foreach.files").split(":"),
           args = project.getProperty("foreach.args").split(", "),
           task = project.createTask("antcall"), arg;
    
           task.target = project.getProperty("foreach.target");
           for (var a in args) {
             arg = task.createParam();
             arg.setName(a.split("=")[0]);
             arg.setValue(String(a.split("=")[1]));
           }
    
           for (var f in files) {
             arg = task.createParam();
             arg.setName(project.getProperty("foreach.file-property"));
             arg.setValue(String(files[f]));
             task.perform();
           }
         ]]></script>
      </sequential>
    </macrodef>
    <!-- пример использования: -->
    
    <target name="transcode-font-helper">
      <property name="font.face.local" value="${font.face}"/>
      <foreach target="transcode-font" file-property="font.raw.source">
        <files>
          <fileset dir="${basedir}/fonts">
            <include name="*/${font.face.local}/*.otf"/>
            <include name="*/${font.face.local}/*.ttf"/>
          </fileset>
        </files>
        <args>
          <propertyref name="font.face.local"/>
        </args>
      </foreach>
    </target>

    А ведь если подумать: собрали все самое лучше, что есть в современном программировании - Ява, ХМЛ и ж.скрипт. Потом выбросили условные операторы, итерацию и операции со строкам - потому что не нужны. И получилась замечательная система для сборки проектов.

    wvxvw, 06 Января 2015

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

    +70

    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
    QString windoliz_path(QString str)
    {
    /*
    функция "виндолизирует" QTшные пути, для передачи в неQTшные части проги
    (в QT-шные, кстати тоже можно, ибо QT вроде бы понимает и те и другие ;)
    если вызвать вне винды ничо страшного, предпроцессор сделает всё за вас
    и функция вернёт ту же строку что и получила. После вызова в виндах не
    помешает сделать .toLocal8Bit()
    //*/
    #ifdef _WIN32                      //если венда
        char s = '\\';                 //символ для замены
        char t = '/';                  //шаблон поиска
        for (int i = str.size();i;i--) //повторить столько раз сколько символов в строке
        {
            if (str[i-1] == t)           //если символ соответствует образцу поиска
            {
                str[i-1] = s;            //меняем на образец замены
            }
        }
    #endif                             //директива отметы условия "если венда"
        return str;
    }

    Этот проект не перестаёт удивлять... апи не смотри, велосипеды пиши. Коммент сохранен авторский.

    kin63camapa, 28 Ноября 2014

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

    −87

    1. 1
    2. 2
    3. 3
    while ([self string:[commentText copy] containsString:@"<br>"]) {
                        commentText = [commentText stringByReplacingOccurrencesOfString:@"<br>" withString:@"/n"];
                    }

    No comments :)

    itruf, 04 Января 2014

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