1. PHP / Говнокод #324

    +23.1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    <?php
    function is_featured($word_id) {
    	$sql = "SELECT * FROM `featured` WHERE `featured_id` = '$word_id'";
    	$results = mysql_query($sql);
    	if (mysql_num_rows($results)) {
    		return true;
    	} else {
    		return false;
    	}
    }

    Классический говнокод, встречаю очень часто

    guest, 03 Января 2009

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

    +32.7

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    if(count($a)>0)
    {
    	for($i=0; $i<count($a); $i++)
    	{
    		//код код код
    	}
    }

    что-то подобное)

    guest, 02 Января 2009

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

    +19

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    <?php
    function word_filter($str) {
    	$filtered = '';
    	for ($i = 0; $i <= strlen($str) - 1; $i++) {
    		$char = substr($str, $i, 1);
    		if (ctype_alpha($char)) {
    			$filtered .= $char;
    		}
    	}
    	return $filtered;
    }

    как делают дебилы: $i <= strlen($str) - 1;
    кто знает, так - $j = strlen($str), $i < $j

    guest, 01 Января 2009

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

    +20.2

    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
    year = ORIGINYEAR; /* = 1980 */
    
    while (days > 365)
    {
        if (IsLeapYear(year))
        {
            if (days > 366)
            {
                days -= 366;
                year += 1;
            }
        }
        else
        {
            days -= 365;
            year += 1;
        }
    }

    Код часов в M$ Zune 30GB.

    guest, 01 Января 2009

    Комментарии (11)
  5. Pascal / Говнокод #319

    +30

    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
    for i := 0 to high(vParagsChanges) do
        begin
          if vParNumIn < vParagsChanges[i].ParNo1 then
          begin
            inc(vParNumOut, vParagsChanges[i].ParNo1 - vParNumIn);
            vParNumIn := vParagsChanges[i].ParNo1;
          end;
    
          if i < high(vParagsChanges) then
            if (vParagsChanges[i].ParNo1+vParagsChanges[i].Range=vParagsChanges[i+1].ParNo1) and
            ((vParagsChanges[i].Kind=ckDelete) and (vParagsChanges[i+1].Kind=ckAdd)) then
              {if vParagsChanges[i].Range = vParagsChanges[i+1].Range then} 
              begin
                vUnitedPars := min(vParagsChanges[i].Range, vParagsChanges[i+1].Range);
                if vParagsChanges[i+1].Range >= vUnitedPars then
                  vParagsChanges[i+1].Range := vParagsChanges[i+1].Range - vUnitedPars;
                if vParagsChanges[i].Range >= vUnitedPars then
                  vParagsChanges[i].Range := vParagsChanges[i].Range - vUnitedPars;
                for j := 0 to vUnitedPars-1 do 
                begin
                  FParsHL[vParNumIn+vInsertedCount1+j].Kind := pkReplaced;
                  vTagsInfoEx := GetTagsInfo(Editor1.Parag(vParNumIn+vInsertedCount1+j).Str); 
                  FParsHL[vParNumIn+vInsertedCount1+j].ViewGroups := GetViewGroupsByChangeItems(vTagsInfoEx.TagKinds);
                  vTagsInfoEx := GetTagsInfo(Editor2.Parag(vParNumIn+vInsertedCount1+j).Str);
                  FParsHL[vParNumIn+vInsertedCount1+j].ViewGroups := FParsHL[vParNumIn+vInsertedCount1+j].ViewGroups + GetViewGroupsByChangeItems(vTagsInfoEx.TagKinds);
                  if vParagsChanges[i].InCard then 
                    FParsHL[vParNumIn+vInsertedCount1+j].ViewGroups := FParsHL[vParNumIn+vInsertedCount1+j].ViewGroups + [vgCard]
                  else
                    FParsHL[vParNumIn+vInsertedCount1+j].ViewGroups := FParsHL[vParNumIn+vInsertedCount1+j].ViewGroups + [vgText];
                end;
                inc(vParNumIn, vUnitedPars);
                inc(vParNumOut, vUnitedPars);
              end;
    
          case vParagsChanges[i].Kind of
            ckAdd: begin
              for j := 0 to vParagsChanges[i].Range-1 do
              begin
                vTmpParag := TRTFParag.Create(nil, False, False, raLeft{raRight});
                FEditor1.InsPar(vParNumIn+vInsertedCount1+j, vTmpParag, false);
                FParsHL[vParNumIn+vInsertedCount1+j].Kind := pkAdded;
                vTagsInfoEx := GetTagsInfo(Editor2.Parag(vParNumOut+vInsertedCount2+j).Str); 
                if vParagsChanges[i].InCard then 
                  FParsHL[vParNumIn+vInsertedCount1+j].ViewGroups := GetViewGroupsByChangeItems(vTagsInfoEx.TagKinds) + [vgCard]
                else 
                  FParsHL[vParNumIn+vInsertedCount1+j].ViewGroups := GetViewGroupsByChangeItems(vTagsInfoEx.TagKinds) + [vgText];
              end;
              inc(vInsertedCount1, vParagsChanges[i].Range);
              inc(vParNumOut, vParagsChanges[i].Range);
            end;
            ckDelete: begin
              for j := 0 to vParagsChanges[i].Range-1 do
              begin
                vTmpParag := TRTFParag.Create(nil, False, False, raLeft);
                FEditor2.InsPar(vParNumOut+vInsertedCount2+j, vTmpParag, false);
                FParsHL[vParNumOut+vInsertedCount2+j].Kind := pkDeleted;
                vTagsInfoEx := GetTagsInfo(Editor1.Parag(vParNumIn+vInsertedCount1+j).Str); 
                if vParagsChanges[i].InCard then 
                  FParsHL[vParNumOut+vInsertedCount2+j].ViewGroups := GetViewGroupsByChangeItems(vTagsInfoEx.TagKinds) + [vgCard]
                else 
                  FParsHL[vParNumOut+vInsertedCount2+j].ViewGroups := GetViewGroupsByChangeItems(vTagsInfoEx.TagKinds) + [vgText];
              end;
              inc(vInsertedCount2, vParagsChanges[i].Range);
              inc(vParNumIn, vParagsChanges[i].Range);
            end;
            ckModify: begin 
              if (ciAlignment in vParagsChanges[i].ChangedItems) and (vParagsChanges[i].StrChanges = nil) then
                FParsHL[vParNumIn+vInsertedCount1].Kind := pkAlignment
              else
                FParsHL[vParNumIn+vInsertedCount1].Kind := pkModified;
    
              FParsHL[vParNumIn+vInsertedCount1].Changes := GetViewChanges(vParagsChanges[i].StrChanges);
              FParsHL[vParNumIn+vInsertedCount1].ViewGroups := GetViewGroupsByChangeItems(vParagsChanges[i].ChangedItems);
              if vParagsChanges[i].InCard then 
                if (ciText in vParagsChanges[i].ChangedItems) or (ciAlignment in vParagsChanges[i].ChangedItems) then 
                begin 
                  FParsHL[vParNumIn+vInsertedCount1].ViewGroups := FParsHL[vParNumIn+vInsertedCount1].ViewGroups + [vgCard];
                  FParsHL[vParNumIn+vInsertedCount1].ViewGroups := FParsHL[vParNumIn+vInsertedCount1].ViewGroups - [vgText, vgAlignment];
    
                  for j := 0 to high(FParsHL[vParNumIn+vInsertedCount1].Changes) do 
                    if FParsHL[vParNumIn+vInsertedCount1].Changes[j].ViewGroup = vgText then
                      FParsHL[vParNumIn+vInsertedCount1].Changes[j].ViewGroup := vgCard;
                end;
    
              inc(vParNumIn, 1);
              inc(vParNumOut, 1);
            end;
          end;
        end;

    Такой г****код возник не за 1 день. Голову пришлось поломать основательно :))
    Комментарии убраны, дабы не портить удовольствие от прочтения.

    guest, 31 Декабря 2008

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

    +15.3

    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
    #define begin {
    #define end   }
    
    ....
    
    //==================================
    // put a big character on the screen
    // c is index into bitmap
    void video_putchar(char x, char y, char c)  
    begin 
        v7 = x;
        for (v6=0;v6<7;v6++) 
        begin
            v1 = bitmap[c][v6]; 
            v8 = y+v6;
            ...
        end
    end

    паскалист пишет на си

    guest, 31 Декабря 2008

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

    +10.8

    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
    // собственно заполнение
    for (i = pdir ? old_end_y : old_end_x; i != pdir ? (sel_end_y + gstep) : (sel_end_x + gstep); i++)
    {
      if (cells[pdir ? sel_x : i][pdir ? i : sel_y])
        freemem(cells[pdir ? sel_x : i][pdir ? i : sel_y]);
      if (is_arith)
      {
        cells[pdir ? sel_x : i][pdir ? i : sel_y] = ftoa(arith_first);
        arith_first += arith_step;
      }
      else
      {
      if (cells[sel_x][sel_y])
      {
        cells[pdir ? sel_x : i][pdir ? i : sel_y] = (char*)allocmem(strlen(cells[sel_x][sel_y]) + 1);
        strcpy(cells[pdir ? sel_x : i][pdir ? i : sel_y], cells[sel_x][sel_y]);
      }
    }

    Индус помешался на тернарной операции.

    guest, 31 Декабря 2008

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

    +17.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
    for (i = 0; i<sizeof(n)*4; i++) 
    { 
    	if ((((n>>(2*i))&1==1)&&((n>>(2*i+1))&1==0)))
    	{
    		n|=(1<<(2*i));
    		n&=~(1<<(2*i+1));
    	}
    else if ((((n>>(2*i))&1==0)&&((n>>(2*i+1))&1==1)))
    	{
    		n|=(1<<(2*i+1));
    		n&=~(1<<(2*i));
    	}

    Нечто вроде циклического сдвига вправо на Си.

    guest, 31 Декабря 2008

    Комментарии (1)
  9. SQL / Говнокод #315

    −282.3

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    query = "select coach_id, "
      " concat(coach_surname,' ',coach_name,' ',coach_pname, ' (', (select name from price_coach_types where id_coach_type = coaches.coach_type), ')'), "
      "ifnull((select price_single_child from price_coaches where coach_id = coaches.coach_id and price_start_date = " + actual_price+ "),0),"
      "ifnull((select price_single_adult from price_coaches where coach_id = coaches.coach_id and price_start_date = " + actual_price+ "),0),"
      "ifnull((select price_group_child from price_coaches where coach_id = coaches.coach_id and price_start_date = " + actual_price+ "),0),"
      "ifnull((select price_group_adult from price_coaches where coach_id = coaches.coach_id and price_start_date = " + actual_price+ "),0)"
      " from coaches order by binary coach_surname, coach_type";

    Автор любитель копипастить свой код :)

    guest, 31 Декабря 2008

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

    +29

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    double StrToMoney(AnsiString str)
    {
      str = AnsiReplaceStr(str, "-", ".");
      char *buffer = str.c_str();
      double val;
      sscanf(buffer,"%lf",&val);
      return val;
    }

    Быдлокодер на борланд С++ хотел сконвертить в число деньги в формате рубли-копейки. И сделал это наименее эффективным образом.

    guest, 31 Декабря 2008

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