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

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

    +101

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    procedure TForm1.ShowPaletteButtonClick(Sender: TObject);
    begin
    if Form2.Visible = False then Form2.Visible := True;
    Form2.BringToFront;
    end;

    кстати о документации
    подлинное говно от багланд интернейшнл
    пруф - http://docwiki.embarcadero.com/CodeExamples/en/BringToFront_(Delphi)

    bugmenot, 24 Сентября 2011

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

    +101

    1. 1
    2. 2
    3. 3
    i := -7; // если после этой строчки загнать в отладчик i shr 1, то отладчик покажет -4
    i := i shr 1; // после этой строчки i становится равно 2147483644
    i := (-7) shr 1; // после этой строчки i становится равно 4

    Delphi7 такой Delphi7...

    http://www.gamedev.ru/code/forum/?id=138759&page=25#m367
    Тарас любит дельфи.

    CPPGovno, 06 Сентября 2011

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

    +101

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    double k;
    
    if(deviceType == "firstType"){
      for(int i = 0;i < 100000;i++)
        k = pow(2,10);
    }
    else if(deviceType == "secondType"){
      for(int i = 0;i < 700000;i++)
        k = pow(2,10);
    }

    Думаю этот даунизм поймут все. Маразм крепчал)

    eclipse, 25 Июня 2011

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

    +101

    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
    TLine = record
        X1, Y1, X2, Y2: smallint;
        Attr: array [0 .. 7] of byte;
      end;
    
    {rail:
        Attr[0]: Quality
        Attr[1]: ********
                 ||Weight of Station
                 ||10 = Station; 11 = Big Station
        Attr[2]: Count of passengers
        Real count = Attr[2] * (Attr[1] and $3F) / 63;
        Attr[3]: ****0100
                 ||||
                 |||for Selected
                 ||for "crossrail"
                 for MoveEndSel
      ===========================================
       bridge:
        Attr[0]: Quality
        Attr[1]: ********
                       ||
                       Z of ends
        Attr[2]:
        Attr[3]: ****1100
      ===========================================
       3d-object:
        Attr[0]: Number
        Attr[1-2]: RandSeed
        Attr[3]: ****1111
      ===========================================
      Attr[4..7] reserved, but not used
    
      }

    Это я был вынужден написать себе такую памятку после попыток понять свой код, начатый на 3 курсе.
    В будущем я учёл свои ошибки при написании http://govnokod.ru/5261

    TarasB, 06 Марта 2011

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

    +101

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    type Table = record
       f1, f2, f3, f4, f5: integer;
    end;
    
    procedure Sort(a: array of Table; L, R: integer; Shift: integer);
    begin
    // что-то там...
    // сравнение элементов:
       if pinteger(size_t(@a[i])+Shift)^ < pinteger(size_t(@a[j])+Shift)^
    end;

    Использование: Sort(a, 0, Length(a) - 1, size_t(@a[0].f4) - size_t(@a[0]))
    сортировка по полю f4.

    chaoswithin, 13 Февраля 2011

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

    +101

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    ....
    for i:=1 to 4 do for j:=1 to 4 do begin a[i,j]:=b; b:=b-1; end;
    for i:=1 to 4 do for j:=1 to 4 do if a[i,j]=16 then begin k:=i;l:=j; end;
    for i:=1 to 4 do
    for j:=1 to 4 do
    begin
    gotoxy(5+3*i,5+2*j);
    write(a[i,j]);
    end; 
    ....

    http://otvet.mail.ru/question/52501602/

    1_and_0, 02 Февраля 2011

    Комментарии (21)
  8. Pascal / Говнокод #5226

    +101

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    procedure TwndMain.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    var
      s: string;
    begin
      s := UpperCase(GetCompName);
      CanClose :=
        ((Pos('VADIM', s) <> 0) and (DM.DefDBID = 0)) or
        (ShowConfirmation('Ви дійсно бажаєте вийти з програми?') = mrYes);
    end;

    Программиста Вадима реально задолбало это сообщение :)

    stokito, 12 Января 2011

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

    +101

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    if (CoursesString[CoursesString.Length - 1] == '\r')
                    {
                        sb.Remove(CoursesString.Length - 1, 1);
                        CoursesString = sb.ToString();
                    }

    а потом я понял...

    Golovastick, 05 Декабря 2010

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

    +101

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    procedure TSomeForm.DBGridEhDrawColumnCell(SomeParams);
    begin
      ShowRecordCount(GridDataSet);
    end;
    ...
    procedure ShowRecordCount(const FibDataSet: TpFibDataSet);
    begin
      FormMain.StatusBar1.Panels[2].Text := 'записей='+ IntToStr(FibDataSet.VisibleRecordCount);
      FormMain.StatusBar1.Refresh;
    end;

    По ходу решения задачи решил-таки глянуть, почему так дико тормозит главная, вся цветная грида формы, ожидая там дикие отрисовки, а там...

    labutinpa, 25 Ноября 2010

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

    +101

    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
    type
      // смотрите, как не надо делать и почему придумали ООП
      TProc = procedure;
      TGoProc = function: boolean;
      TSizeProc = function: integer;
      TGetConfigProc = function: string;
      TApplyConfigProc = procedure(SM: PStringMap);
    
      TDeviceProc = record
        InitControls: TProc;
        MoveControls: TProc;
        Go: TGoProc;
        MaxH, MinH: TSizeProc;
        GetConfig: TGetConfigProc;
        ApplyConfig: TApplyConfigProc;
      end;
    
    const
      DeviceProcs: array [TDevice] of TDeviceProc = (
        (InitControls: ETR.InitControls; MoveControls: ETR.MoveControls; Go: ETR.Go; MaxH: ETR.MaxH; MinH: ETR.MinH; GetConfig: ETR.GetConfig; ApplyConfig: ETR.ApplyConfig),
        (InitControls: TS_NSH.InitControls; MoveControls: TS_NSH.MoveControls; Go: TS_NSH.Go; MaxH: TS_NSH.MaxH; MinH: TS_NSH.MinH; GetConfig: TS_NSH.GetConfig; ApplyConfig: TS_NSH.ApplyConfig),
        (InitControls: TS_IND.InitControls; MoveControls: TS_IND.MoveControls; Go: TS_IND.Go; MaxH: TS_IND.MaxH; MinH: TS_IND.MinH; GetConfig: TS_IND.GetConfig; ApplyConfig: TS_IND.ApplyConfig),
        (InitControls: TP_NSH.InitControls; MoveControls: TP_NSH.MoveControls; Go: TP_NSH.Go; MaxH: TP_NSH.MaxH; MinH: TP_NSH.MinH; GetConfig: TP_NSH.GetConfig; ApplyConfig: TP_NSH.ApplyConfig),
        (InitControls: TP_IND.InitControls; MoveControls: TP_IND.MoveControls; Go: TP_IND.Go; MaxH: TP_IND.MaxH; MinH: TP_IND.MinH; GetConfig: TP_IND.GetConfig; ApplyConfig: TP_IND.ApplyConfig)
      );

    Вот до чего доводит ненависть к ООП.
    ОПП - это хорошо, ООП не надо ненавидеть.

    TarasB, 14 Сентября 2010

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