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

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

    0

    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
    public enum EventType {
                Error,
                Notification,
                Success
            }
    ...
                            String sEventType = String.Empty;
                            switch (eType) {
                                case EventType.Error:
                                    sEventType = "Error: ";
                                    break;
                                case EventType.Notification:
                                    sEventType = "Notification: ";
                                    break;
                                case EventType.Success:
                                    sEventType = "Success: ";
                                    break;
                            }

    Lokich, 11 Апреля 2016

    Комментарии (45)
  3. JavaScript / Говнокод #19507

    +1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    #pragma strict 
     
    function Start () { 
    function OnMouseDown (); { 
     if(name=="new") { Application.LoadLevel("procedural"); } 
     if(name=="set") { } 
     if(name=="exit") { Application.Quit(); } 
     
    } 
     
    }

    mittorn, 21 Февраля 2016

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

    +3

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    public object Synchronous( 
    Func<object,object,object,object,object   ,object   ,object  ,object, object  , object , object  , object, object  , object, object, object, object>   func,
     
    object argument1,     object argument2,     object argument3,     object argument4   ,
    object argument5,     object argument6 ,    object argument7,     object argument8  ,
    object argument9,     object argument10 ,  object argument11 ,  object argument12 ,
    object argument13 ,  object argument14 ,  object argument15 ,  object argument16)

    Человек написал сверх-полезную библиотеку для асинхронного программирования. Практически все методы выглядят так.

    Psilon, 09 Ноября 2015

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

    +142

    1. 1
    2. 2
    3. 3
    4. 4
    public int MapToLowerPageBoundary(int rowIndex)
    {
           return (rowIndex / RowsPerPage) * RowsPerPage;
    }

    Нашел этот метод в проекте... Интересно о чем думал автор...

    alex493049469, 01 Июля 2015

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

    +130

    1. 1
    List(1,2,3) + "X" == "List(1, 2, 3)X"

    Скала

    laMer007, 13 Марта 2015

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

    +133

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    void	Nay_Prer_Timer2(void)
    {
      Obr_Func_Prer.Sh_Time2 = Obr_Func_Prer.Sh_Time2_Init;
      Spec_Vkl_Indic.Sh_Time2 = Spec_Vkl_Indic.Sh_Time2_Init;
      Spec_Vykl_Indic.Sh_Time2 = Spec_Vykl_Indic.Sh_Time2_Init;
      Flag_Morg=0;	// Флаг моргания для Config_Bibl_Max6954
      Flag_Vykl_Diod=0;
      if(Config_Bibl_Max6954&0x4)	// 2-й бит =1 - Прерывания разрешены
        Vkl_Prer_Timer2();
      return;
    }

    Чел писал тестовое задание для микроконтроллера (поморгать светодиодами).
    На вопрос что означает слово Nay в названии функции был дан ответ - это сокращение от нач. (начало).

    synya, 23 Января 2015

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

    +95

    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
    program Yields;
    
    {$APPTYPE CONSOLE}
    {$R *.res}
    
    uses
      System.Yield in 'System.Yield.pas';
    
    
    procedure ShittyRec(Yield: TYield<Integer>; depth, par1, par2: integer);
    var
      i: integer;
    begin
      Yield(par1+par2);
      if depth>100 then
        exit;
      for i := 0 to 99 do
      begin
        par2 := par2*65537+1;
        ShittyRec(Yield, depth+1, par1*(i+1)+par2, par2);
      end
    end;
    
    function GetNextShittyInt: TYieldEnumerable<Integer>;
    begin
      Result := TYieldEnumerable<Integer>.Create(
        procedure(Yield: TYield<Integer>)
        begin
          Yield(0);
          ShittyRec(Yield, 0, 1, 2);
        end);
    end;
    
    var
      i: Integer;
    begin
      for i in GetNextShittyInt do
      begin
        Writeln(i);
      end;
      Readln;
    end.

    LispGovno, 16 Января 2015

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

    −164

    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
    CREATE TABLE NEWS (
     ID INT NOT NULL AUTO_INCREMENT
     , NEWS_NAME VARCHAR(300) NOT NULL
     , NEWS_SHORT_NAME VARCHAR(80) NOT NULL
     , NEWS_TEXT VARCHAR(40000) NOT NULL
     , NEWS_SHORT_TEXT VARCHAR(400) NOT NULL
     , NEWS_IMG_1 VARCHAR(60)
     , NEWS_IMG_2 VARCHAR(60)
     , NEWS_IMG_3 VARCHAR(60)
     , NEWS_IMG_4 VARCHAR(60)
     , NEWS_IMG_5 VARCHAR(60)
     , NEWS_IMG_6 VARCHAR(60)
     , NEWS_IMG_7 VARCHAR(60)
     , NEWS_IMG_8 VARCHAR(60)
     , NEWS_IMG_9 VARCHAR(60)
     , NEWS_IMG_10 VARCHAR(60)
     , NEWS_DATE DATE
     , PRIMARY KEY (ID)
    );

    Таблица новостей из одной очень крутой и никому неизвесной CMS на java.
    Сейчас автор думает над тем что делать если пользователяю надо будет загрузить 11 изображений, варианты: увеличить количество полей до 15, ограничить количество изображений на новость.

    lisiy50, 15 Января 2015

    Комментарии (45)
  10. Си / Говнокод #17408

    +143

    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
    void ** __attribute__((noinline)) findVoidSortMap(void ** list,void *key)
    {
        if (!list) return 0;
        if (!*list) return 0;
        unsigned int count= **(unsigned int**)list;
        char *p=(char*)*list;
        p+=4;
        Element *b=(Element *)p;
     
        long long skey=(long long)key;
     
        while (count>0) {
            void** kt=(void**)&b[count>>1];
            long long rkey=(long long)kt[0];
            if (skey==rkey) return (void**)&kt[1];
            if (skey>rkey) {b+=(count>>1)+1;count--;}
            count=count>>1;
        }
     
        return (void**)-1;
    }

    гуру осемблира на этом коде доказывал, что Эльбрус сосёт
    http://www.gamedev.ru/flame/forum/?id=196722&page=33#m481

    TarasB, 05 Января 2015

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

    +90

    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
    Procedure ArrDataToRawImage(Ptr: PRGB32; Size: TPoint; out RawImage: TRawImage);
    Begin
    RawImage.Init; { Calls raw.Description.Init as well }
    RawImage.Description.PaletteColorCount:=0;
    RawImage.Description.MaskBitsPerPixel:=0;
    RawImage.Description.Width := Size.X;
    RawImage.Description.Height:= Size.Y;
    RawImage.Description.Format := ricfRGBA;
    RawImage.Description.ByteOrder := riboLSBFirst;
    RawImage.Description.BitOrder:= riboBitsInOrder; // should be fine
    RawImage.Description.Depth:=24;
    RawImage.Description.BitsPerPixel:=32;
    RawImage.Description.LineOrder:=riloTopToBottom;
    RawImage.Description.LineEnd := rileDWordBoundary;
    RawImage.Description.RedPrec := 8;
    RawImage.Description.GreenPrec:= 8;
    RawImage.Description.BluePrec:= 8;
    RawImage.Description.AlphaPrec:=0;
    RawImage.Description.RedShift:=16;
    RawImage.Description.GreenShift:=8;
    RawImage.Description.BlueShift:=0;
    RawImage.DataSize := RawImage.Description.Width * RawImage.Description.Height
    * (RawImage.Description.bitsperpixel shr 3);
    RawImage.Data := PByte(Ptr);
    End;

    with ... do? Не. не слышал.

    Cynicrus, 01 Декабря 2014

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