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

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

    +152

    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
    public function validateItem() {
      $orderPricesSum = null;
      if($orderPricesSum == null) {
    	$orderPricesSum = $this->getPricesSum();
      }
    
     if($this->minimal && $orderPricesSum < $this->minimal) {
    	return false;
      }
    
      if($this->maximum && $orderPricesSum > $this->maximum) {
    	return false;
      }
    
      return true;
    }

    $orderPricesSum другой ведь какой-то может быть...

    farit_slv, 28 Марта 2014

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

    +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
    int minus(int ch)
    {
    if (ch < 0)
    {
    char buf[255];
    char *chs = itoa(ch);
    char *chsn = (char*)calloc(1, strlen(chs)+1];
    memset(chsn, 0, strlen(chs)+1);
    chsn[0] = '-';
    for (int i = 1, int j = 0; j < strlen(chs); i++, j++)
    {
    chsn[i] = chs[j];
    }
    int ret = atoi(chsn);
    return ret;
    }
    else
    {
    char buf[255];
    char *chs = itoa(ch);
    char *chsn = (char*)calloc(1, strlen(chs)+1];
    memset(chsn, 0, strlen(chs)+1);
    for (int i = 1, int j = 0; i < strlen(chs); i++, j++)
    {
    chsn[j] = chs[i];
    }
    int ret = atoi(chsn);
    return ret;
    }
    }

    gost, 27 Марта 2014

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

    +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
    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
    FRebuildSubdocPlcpcd(pdsr, ddsr, edcDrp)
    struct DSR *pdsr;
    int ddsr;
    int edcDrp;
    {
    /* we pull some tricks here because the normal editing situation doesn't cover
    	what we're trying to do:
    		1. We don't disturb the old chEop at the end of the subdoc until after
    			we have replaced the old pieces with the new one; then we delete it
    			surgically (we know it has either a different fn or noncontiguous
    			fc from the new stuff -- so just subtract ccpEop from cpMac and
    			remove the last pcd entry)
    		2. The plcfnd/plchdd needn't take part in the editing, since the CP
    			bounds will be the same after as they were before, and in fact
    			AdjustCp doesn't know how to handle editing the subdoc data -- so
    			we hide the plc from the editing
    */
    	int doc = pdsr->doc;
    	int docSubdoc;
    	int ipcd;
    	CP ccpSubdoc;
    
    	struct DOD *pdod;
    	struct PLC **hplcfnd;
    	struct PLC **hplcfld;
    	struct DRP *pdrp;
    	struct CA ca1, ca2;
    	struct PLC **hplcpcd, **hplcpcdSub;
    	CP *pccpSubdoc;
    	struct PCD pcd;
    
    	/*  momentarily break link to subdoc doc in dod so that ReplaceCps
    		doesn't get confused. */
    	pdrp = ((int *)PdodDoc(doc)) + edcDrp;
    	docSubdoc = pdrp->doc;
    	pccpSubdoc = ((int *)pdsr) + ddsr;
    	ccpSubdoc = *pccpSubdoc;
    	pdrp->doc = docNil;
    
    	if (docSubdoc != docNil && ccpSubdoc != cp0)
    		{
    		/* hide the subdoc plcfnd */
    		pdod = PdodDoc(docSubdoc);
    		hplcfnd = pdod->hplcfnd;
    		hplcfld = pdod->hplcfld;
    		pdod->hplcfnd = hNil;
    		pdod->hplcfld = hNil;
    
    		/* replace original piece table for subdoc with new --
    			note that we leave the chEop at end temporarily */
    		ccpSubdoc -= ccpEop;
    		if (!FReplaceCps(PcaSet(&ca1, docSubdoc, cp0, ccpSubdoc),
    				PcaSet(&ca2, doc, pdsr->ccpText, pdsr->ccpText + ccpSubdoc)))
    			return fFalse; 
    
    		/* now replace the PCD for the chEop left over from olden times;
    		   unfortunately, the editing routines can't do this for us */
    		hplcpcd = PdodDoc(doc)->hplcpcd;
    		if ((ipcd = IpcdSplit(hplcpcd, pdsr->ccpText + ccpSubdoc)) == iNil)
    			return fFalse;
    		GetPlc(hplcpcd, ipcd, &pcd);
    		hplcpcdSub = PdodDoc(docSubdoc)->hplcpcd;
    		PutPlc(hplcpcdSub, IMacPlc(hplcpcdSub) - 1, &pcd);
    		if ((ipcd = IpcdSplit(hplcpcdSub, ccpSubdoc+ccpEop)) == iNil)
    			return fFalse;
    		PutPlc(hplcpcdSub, ipcd-1, &pcd);
    
    		/* eliminate the footnote/header text from the main doc */
    		ca2.cpLim += ccpEop;
    		if (!FDelete(&ca2))
    			return fFalse;
    		pdod = PdodDoc(docSubdoc);
    
    		/* restore plcfnd */
    		pdod->hplcfnd = hplcfnd;
    		pdod->hplcfld = hplcfld;
    		pdod->fDirty = fFalse;
    
    		TruncateAllSels(docSubdoc, pdod->cpMac);
    		}
    
    	/* restore docFtn/docHdr */
    	pdrp = ((int *)PdodDoc(doc)) + edcDrp;
    	pdrp->doc = docSubdoc;
    
    	return fTrue;
    }

    Word for Windows 1.1a. 17 мегабайт отборного говнокода.

    http://habrahabr.ru/post/217081/

    gost, 26 Марта 2014

    Комментарии (7)
  5. Куча / Говнокод #15553

    +131

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    Чтобы сделать программу невидимой для пользователя нажимаем на форму в конструктере и изменяем следующие свойства:
    — FormBorderStyle — None
    — Opacity — 0%
    — ShowIcon — False
    — ShowInTaskbar — False

    И Хабр туда-же...
    http://habrahabr.ru/post/127278/

    gost, 22 Марта 2014

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

    +142

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    for(int i=0; i<10; i++) {
      if(i==5) {
        //do something
        break;
      }
    }

    Без слов... Взято из реального проекта, с некоторыми упрощениями

    dm-ua, 20 Марта 2014

    Комментарии (7)
  7. Pascal / Говнокод #15488

    +87

    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
    delim:=0;
    result:='';
    resulttemp:='';
    otv1:=trunc(rez);
    ott2:=rez-otv1;
    while otv1>=s1 do
    begin
    	delim:=delim+1;
    	r1:=otv1 div s1;
    	r2:=otv1 mod s1;
    	otv1:=r1;		
    	if (r2>=0) and (r2<=9) then
    		str(r2,resulttemp);			
    	if r2=10 then resulttemp:='a';
    	if r2=11 then resulttemp:='b';
    	if r2=12 then resulttemp:='c';
    	if r2=13 then resulttemp:='d';
    	if r2=14 then resulttemp:='e';
    	if r2=15 then resulttemp:='f';		
    	result:=result+resulttemp;
    end;	
    if (otv1>=0) and (otv1<=9) then
    	str(otv1,resulttemp);	
    if otv1=10 then resulttemp:='a';
    if otv1=11 then resulttemp:='b';
    if otv1=12 then resulttemp:='c';
    if otv1=13 then resulttemp:='d';
    if otv1=14 then resulttemp:='e';
    if otv1=15 then resulttemp:='f';	
    result:=result+resulttemp;
    delim:=length(result);
    resulttemp:=result;
    for otv1:=1 to delim do
    	result[otv1]:=resulttemp[delim+1-otv1];

    Перевод числа из десятичной системы счисления в систему счисления с основанием s1

    n924, 15 Марта 2014

    Комментарии (7)
  8. PHP / Говнокод #15464

    +157

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    if ($_GET['cred_sum']!=""){
      $_GET['cred_sum']=$_GET['cred_sum']-$_GET['cred_sum']-$_GET['cred_sum'];
    }
    // simple hack
    else {
    	$_GET['cred_sum'] = -1;
    }

    Делаем cred_sum отрицательным

    painter, 13 Марта 2014

    Комментарии (7)
  9. Objective C / Говнокод #15448

    −268

    1. 1
    NSMutableArray * constraints_to_remove = [ @[] mutableCopy] ;

    Мсье знает толк!

    nickynick, 13 Марта 2014

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

    +41

    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
    for (std::vector<SomeClass::SmartPtr>::iterator i = candidates.begin ();
               i != candidates.end (); )
          {
             if ((*i)->getArea ().intersect (thisArea))
             {
                // label is inside the area.
                ++i;
             }
             else
             {
                // label must be removed
                std::iter_swap (i, candidates.end () - 1);
                candidates.pop_back ();
             }
          }

    Не совсем ясны были мотивы человека, написавшего это. Этот код вообще не работает и не сразу и поймешь что тут к чему.

    bes, 21 Февраля 2014

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

    +140

    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
    #include<stdio.h>
    int main()
    {FILE*f1,*f2;
    f1=fopen("input.txt","r");
    f2=fopen("output.txt","w");
    int i,j,k,l,n,m,l1,m1;
    int a[100000]={0};
    int b[100]={0},b1[100]={0};
    fscanf(f1,"%d%d",&n,&k);
    for(i=0;i<n;i++)
    {fscanf(f1,"%d",&a[i]);
    if (i==0) b[(a[i]%k+k)%k]=1;
    else {for(j=0;j<k;j++)
    if(b[j]==1) {b1[(a[i]%k+j+k)%k]=1; b1[(j-a[i]%k+k)%k]=1;}
    for(j=0;j<k;j++)
    {b[j]=b1[j]; b1[j]=0;}}}
    if (b[0]==1) fprintf(f2,"Divisible");
    else fprintf(f2,"Not divisible");
    fclose(f1);
    fclose(f2);
    return 0;}

    Динамический алгоритм. работа с остатками. тестировщик прожевал и выдал максимум:)

    Sauron, 20 Февраля 2014

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