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

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

    +130

    1. 1
    List<KeyValuePair<string, string>> documentList = GetList();

    использование списка пар ключ-значение вместо словаря (Dictionary<string, string>)

    mozg_raka, 22 Ноября 2013

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

    +130

    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 actionSelect_model(){
    		
    	 
    		
    	$data = Yii::app()->db->createCommand()
    			->select('*')
    			->from('moto')
    			->where(' wmotoid = '.$_GET[id] )
    			->queryAll();
    			
    		foreach($data as $F=>$L){
    			echo '<option value="'.$L[moto_id].'">'.$L[moto_text].'</option>';
    			}
    		
    		
    	}

    Инет магазин на Yii. Контроллер.

    flashbag, 21 Октября 2013

    Комментарии (27)
  4. C# / Говнокод #13980

    +130

    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
    DataTable newTable = new DataTable();
    newTable.Columns.Add("id");
    newTable.Columns.Add("type");
    
    DataRow empty_row = newTable.NewRow();
    empty_row["id"] = 0;
    empty_row["type"] = "--- Все графики ---";
    newTable.Rows.Add(empty_row);
    
    for (int i = 0; i < tPayDays.Rows.Count; i++)
    {
          if (tPayDays.Rows[i]["id"].ToString() != "11")
          {
                 DataRow new_row = newTable.NewRow();
                 new_row["id"] = tPayDays.Rows[i][0].ToString();
                 new_row["type"] = tPayDays.Rows[i][1].ToString();
                 newTable.Rows.Add(new_row);
           }
    }

    Выкручивался как мог.
    Мало того, дальше в коде айдишник стал стрингового типа и стало еще веселей.

    pipjaka, 20 Октября 2013

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

    +130

    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
    Program KrestZero;
    ...
    
    procedure TForm1.DrawGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
      Rect: TRect; State: TGridDrawState);
    begin
    
      case m[arow,acol]of
         1: DrawGrid1.Canvas.Draw(acol*81,arow*81 ,bmpkrest);
         0:  DrawGrid1.Canvas.Draw(acol*81,arow*81 ,bmpfon);
         2:  DrawGrid1.Canvas.Draw(acol*81,arow*81 ,bmpnul);
      end;
    
    
    end;
    function win:boolean;
    var a:byte;
    begin
      result:=false;
      k:=0;
      for I := 0 to 2 do
         if m[0,i]=a then k:=k+1;
      if k=3 then begin result:=true; exit; end;
        
        
    end;
    
    procedure TForm1.DrawGrid1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
      var
      acol,arow:integer;
    begin
       DrawGrid1.MouseToCell(x,y,acol,arow);
       if (m[arow,acol]<>0) then
        ShowMessage('Нельзя!')
       else
       begin
        inc(hod);
        if hod mod 2 =1 then m[arow,acol]:=1
        else m[arow,acol]:=2;
        if win then  ShowMessage('Победа!');
        
       end;
    end;
    
    procedure TForm1.FormShow(Sender: TObject);
    var i,j:byte;
    begin
       bmpkrest:=TBitmap.Create;
       bmpkrest.LoadFromFile('krest.bmp');
       bmpfon:=TBitmap.Create;
       bmpfon.LoadFromFile('fon.bmp');
       bmpnul:=TBitmap.Create;
       bmpnul.LoadFromFile('nol.bmp');
       for i:=0 to 2 do
         for j:=0 to 2 do
          m[i,j]:=0;
       hod:=0;
    end;

    А вот так, товарищи, кодит препод в одной из шаражек в нашем родном Владикавказе.
    В коде ничего не менял - выложил, как есть.
    Одно только название - krestzero уже поднимает давление настроение.

    Stertor, 15 Сентября 2013

    Комментарии (39)
  6. Куча / Говнокод #13778

    +130

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    <h1>Регистрация нового пользователя</h1>
        <form method="post" action="reg2.php">
            <pre>Имя:            </pre><input type="text" name="name"> <br>
            <pre>Пароль:         </pre><input type="password" name="password"> <br>
            <pre>Пароль еще раз: </pre><input type="password" name="second_password"> <br> 
            <pre>E-Mail Адрес:   </pre><input type="text" name="email"> <br><br>
            <input type="submit" name="register" value="Зарегестрироваться">
        </form>

    Этот товарищ так понял популярное выражение "таблицы не нужны"? http://www.cyberforum.ru/php-database/thread939698.html

    Vladiator, 11 Сентября 2013

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

    +130

    1. 1
    Народ, вы где? Я реально соскучился.

    Stertor, 22 Августа 2013

    Комментарии (0)
  8. Java / Говнокод #13611

    +130

    1. 1
    i=s.indexOf ("!") ;

    Смотрю с утра в код, а там жопа.

    KostylMaster, 15 Августа 2013

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

    +130

    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
    #include <stdio.h>
    
    int main()
    {
        int a = 5, b = 6;
        void* go;
        go = ( a > b )? &&true1: &&false1;
        goto *go;
    
          true1:
          {
            printf("%i > %i\n", a, b);
            goto next1;
          }
    
          false1:
          {
            printf("%i <= %i\n", a, b);
          }
    
        next1:
    
    
        a = 7;
        go = ( a > b )? &&true2: &&false2;
        goto *go;
        
          true2:
          {
            printf("%i > %i\n", a, b);
            goto next2;
          }
    
          false2:
          {
            printf("%i <= %i\n", a, b);
          }
    
        next2:
        return 0;
    }

    В GCC есть такой экстеншен http://gcc.gnu.org/onlinedocs/gcc/Labels-as-Values.html
    Можно в goto передавать переменную и можно работать с адресами меток. В сочетании с тернарной условной операцией, этим можно заменить if

    j123123, 30 Июля 2013

    Комментарии (58)
  10. Pascal / Говнокод #13359

    +130

    1. 1
    2. 2
    3. 3
    Прокси-граббер
    
    http://rghost.ru/47337858

    Товарищи, попробуйте мой новый прокси-граббер! Это только эскиз, так что прошу строго не судить. Однопоточный. Парсит с 2 сайтов.

    Stertor, 10 Июля 2013

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

    +130

    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
    public object Clone()
    {
    	using (MemoryStream stream = new MemoryStream())
    	{
    		BinaryFormatter formatter = new BinaryFormatter();
    		formatter.Serialize(stream, this);
    		stream.Position = 0;
    		ColLink result = (ColLink)formatter.Deserialize(stream);
    		result.Id = IdentityManager.GetId();
    		result.GUID = Guid.NewGuid();
    		result.setEdited();
    		result.setCreated();
    		return result;
    	}
    }

    Клонирование

    dormendo, 04 Июля 2013

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