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

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

    +112

    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
    sSQLTitle := 'SELECT  CASE WHEN (VTSS.WRKORDNO IS NOT NULL)'
        +' THEN VTSS.WRKORDNO ELSE VTW.WRKORDNO END AS '''+RSNumDok+''','
        +' CASE WHEN (VTSS.GRECNO IS NOT NULL) THEN VTSS.GRECNO ELSE VTW.GRECNO END AS '''+RSSchet+''','
        +' CASE WHEN (VTSS.STYPE IS NOT NULL) THEN VTSS.STYPE ELSE VTW.STYPE END AS '''+RSDocType+''','
        +' CASE WHEN (VTSS.ServD IS NOT NULL) THEN VTSS.ServD ELSE VTW.ServD END AS '''+RSOpen+''','
        +' CASE WHEN (VTSS.BILLD IS NOT NULL) THEN VTSS.BILLD ELSE VTW.BILLD  END AS '''+RSClose+''','
        +' CASE WHEN (VTSS.FULLNAME IS NOT NULL) THEN VTSS.FULLNAME ELSE VTW.FULLNAME  END AS '''+RSClient+''','
        +' CASE WHEN (VTSS.PAYNAME IS NOT NULL) THEN VTSS.PAYNAME ELSE VTW.PAYNAME  END AS '''+RSPlatelwik+''','
        +' CASE WHEN (VTSS.VIN IS NOT NULL) THEN VTSS.VIN ELSE VTW.VIN  END AS '''+RSVIN+''','
        +' CASE WHEN (VTSS.GNUMER IS NOT NULL) THEN VTSS.GNUMER ELSE VTW.GNUMER  END AS '''+RSGosNomer+''','
        +' CASE WHEN (VTSS.HSMANID IS NOT NULL) THEN VTSS.HSMANID ELSE VTW.HSMANID  END AS '''+RSOtvetstv+''','
        +' CASE WHEN (VTSS.LBACK IS NOT NULL) THEN VTSS.LBACK ELSE VTW.LBACK  END AS '''+RSReturn+''','
        +' VTSS.FULLSUMMA AS '''+RSSumItems+''','
        +' VTW.SUMMA AS '''+RSSumWork+'''';
    with DataMdl.adsADODataSet do
      begin
        Active := false;
        if rbAllDate.Checked then
        {$REGION 'Поиск по всем датам'}
          case rgZakazType.ItemIndex of
            0: //поиск по открытым заказ-заявкам
            CommandText:=sSQLTitle
              +' FROM'
              +' (SELECT  VTS.WRKORDNO,'
           (...)
              +' SUM(SUMMA) AS FULLSUMMA'
              +' FROM'
              +' (SELECT GS.WRKORDNO,'
              +' GB.GRECNO,'
              + sSQLCase
              +' CONVERT(varchar(10), GS.ServD, 104) AS ServD,'
              +' CONVERT(varchar(10), GB.BILLD,104) AS BILLD,'
              +' CASE'
              +'	WHEN C.FNAME IS NULL THEN C.LNAME'
              +'	WHEN C.LNAME IS NULL THEN C.FNAME'
              +' ELSE C.FNAME+'' ''+C.LNAME'
              +'	END AS FULLNAME,'
    //          +' C.LNAME + '' '' + C.FNAME AS FULLNAME,'
              +' CS.PNAME AS PAYNAME,'
              +' V.SERIALNO AS VIN,'
              +' V.LicNo AS GNUMER,'
              +' GB.HSMANID,'
              +' CASE WHEN (GS.CREDIT IS NULL)OR (GS.CREDIT <> 1) THEN NULL ELSE '''+RSReturn+''' END AS LBACK,'
              +' GW.NAME,'
              +' SUM(GW.ORDNUM) AS '''+RSQuantity+''','
              +' SUM(GW.ORDNUM)*GW.UNITPR AS SUMMA'
              +' FROM GSAL'+sPostfix+' GS LEFT OUTER JOIN'
              +' GROW'+sPostfix+' GW ON (GS.GSALID = GW.GSALID)  LEFT OUTER JOIN'
              +' GBIL'+sPostfix+' GB ON (GS.GSALID = GB.GSALID) LEFT OUTER JOIN'
              +' VEHI V ON (GS.VEHIID = V.VEHIID) LEFT OUTER JOIN'
              +' CUST C ON (GS.CUSTNO = C.CUSTNO) RIGHT OUTER JOIN'
              +' (SELECT     CustNo, Lname + '' '' + FNAME AS PNAME'
              +' FROM CUST WITH (NOLOCK))'
              +' CS ON (GB.CUSTNO = CS.CUSTNO)'
              +' WHERE (GS.STATUS = ''A'') AND (GW.RTYPE IN (1,2))'  +sSQLWhere
              +' GROUP BY  GW.ITEM, GW.NAME, GW.UNITPR,'
              +' GS.WRKORDNO, GB.Grecno, GS.ServD, GB.BILLD, C.LNAME, C.FNAME,'
              +' CS.PNAME, V.SERIALNO, V.LicNo, GB.HSMANID, GS.CREDIT, GW.RECMTIME, GS.STYPE)'
              +' VTS'
              +' CASE WHEN (GS.CREDIT IS NULL)OR (GS.CREDIT <> 1) THEN NULL ELSE '''+RSReturn+''' END AS LBACK,'
              +' GW.NAME,'
              +' SUM(GW.ORDNUM) AS '''+RSQuantity+''','
              +' SUM(GW.ORDNUM)*GW.UNITPR AS SUMMA'
              +' FROM GSAL'+sPostfix+' GS LEFT OUTER JOIN'
              +' GROW'+sPostfix+' GW ON (GS.GSALID = GW.GSALID)  LEFT OUTER JOIN'
              +' GBIL'+sPostfix+' GB ON (GS.GSALID = GB.GSALID) LEFT OUTER JOIN'
              +' VEHI V ON (GS.VEHIID = V.VEHIID) LEFT OUTER JOIN'
              +' CUST C ON (GS.CUSTNO = C.CUSTNO) RIGHT OUTER JOIN'
              +' (SELECT     CustNo, Lname + '' '' + FNAME AS PNAME'
           
         ...

    ... и так далее. НАПИСАНО ВРУЧНУЮ! Всего 420 строк, 4 подзапроса, связанных через full outer join. 16 тысяч записей 4-x ядерный mssql server обрабатывал таким образом минуты две. Я уж промолчу, как он по строкам в Delphi разбит...
    Два дня врубался, как оно работает, переписал за два часа. 58 строк, включая каждое поле из select с новой строки :)

    artemlight, 16 Ноября 2010

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

    +112

    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
    procedure TfmConf_PA30.btnWritePAClick(Sender: TObject);
    begin
       if WriteByVariable(11,lbLog6) then begin
        if WriteByVariable(12,lbLog6) then begin
         if WriteByVariable(13,lbLog6) then begin
          if WriteByVariable(14,lbLog6) then begin
           if WriteByVariable(15,lbLog6) then begin
            if WriteByVariable(16,lbLog6) then begin
             if WriteByVariable(17,lbLog6) then begin
              if WriteByVariable(18,lbLog6) then begin
               if WriteByVariable(19,lbLog6) then begin
                if WriteByVariable(20,lbLog6) then begin
                 if WriteByVariable(21,lbLog6) then begin
                  if WriteByVariable(22,lbLog6) then begin
                   if WriteByVariable(23,lbLog6) then begin
                    if WriteByVariable(24,lbLog6) then begin
                     if WriteByVariable(25,lbLog6) then begin
                      if WriteByVariable(26,lbLog6) then begin
                       if WriteByVariable(27,lbLog6) then begin
                        if WriteByVariable(28,lbLog6) then begin
                         if WriteByVariable(29,lbLog6) then begin
                          if WriteByVariable(30,lbLog6) then begin
                           lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (30)');
                         end else
                          lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (29)');
                        end else
                         lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (28)');
                       end else
                        lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (27)');
                      end else
                       lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (26)');
                     end else
                      lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (25)');
                    end else
                     lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (24)');
                   end else
                    lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (23)');
                  end else
                   lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (22)');
                 end else
                  lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (21)');
                end else
                 lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (20)');
               end else
                lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (19)');
              end else
               lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (18)');
             end else
              lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (17)');
            end else
             lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (16)');
           end else
            lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (15)');
          end else
           lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (14)');
         end else
          lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (13)');
        end else
         lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (12)');
       end else
        lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (11)');
    end;

    может циклом надо было? :)
    for i:=11 to 40 do...

    pethead, 22 Октября 2010

    Комментарии (16)
  4. Java / Говнокод #3976

    +112

    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
    private int nextEscaped() {
            int ch = temp[++cursor];
            return ch;
        }
        private int readEscaped() {
            int ch = temp[cursor++];
            return ch;
        }
        private int read() {
            int ch = temp[cursor++];
            if (has(COMMENTS))
                ch = parsePastWhitespace(ch);
            return ch;
        }
        private int peek() {
            int ch = temp[cursor];
            if (has(COMMENTS))
                ch = peekPastWhitespace(ch);
            return ch;
        }

    блин, праздник все-таки - запостю еще один. источник тот же что и в http://govnokod.ru/3975

    3.14159265, 13 Августа 2010

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

    +112

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    //Floating
    float k = 0.0001f;
    for (float i = 10.9f; i >= -10.9f; i--)
    {
        i += +1 - k;
        e.Graphics.DrawEllipse(new Pen(Color.Green, 5), 15 * (float)Math.Sin(i), 15 * i, 5, 5);
    }

    Учусь рисовать окружность

    sergylens, 11 Августа 2010

    Комментарии (403)
  6. Java / Говнокод #3921

    +112

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    private List<String> tList = new ArrayList<String>();
                ...........
    	for (String refAttr : refAttrs) {
    		t = tag.getAttribute(refAttr);
    		if (!tList.contains(t))
    			if (isCorrect(t))
    				tList.add(t);
            }

    как-то позабыл я о Сетах

    3.14159265, 09 Августа 2010

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

    +112

    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
    private void _Login()
            {
                if (Get_IPAdress_Server() != 0)
                {
                    if (Error_Connect_Method != null) Error_Connect_Method(this, "Серевер недоступен!");
                    return;
                }
                try
                {
                    TcpClient MClient = new TcpClient(Server_IPAdress, Server_Port);
                    Sock = MClient.Client;
                    if (Sock == null)
                    {
                        if (Error_Connect_Method != null) Error_Connect_Method(this ,"Серевер недоступен!");
                        return;
                    }
                    mrim_packet_header Pack = new mrim_packet_header(Msg.CS_MAGIC, Msg.PROTO_VERSION, seq, Msg.MRIM_CS_HELLO, 0, 0, 0, 0, 0, 0, 0);
                    byte[] Hello = Pack.Generat_Packet();
                    Sock.Send(Hello);
                    byte[] Buf = new byte[48];
                    Sock.Receive(Buf);
                    if (BitConverter.ToUInt32(Buf.Skip(12).Take(4).ToArray(), 0) != Msg.MRIM_CS_HELLO_ACK)
                    {
                        Sock.Close();
                        if (Error_Connect_Method != null) Error_Connect_Method(this, "Серевер недоступен!");
                    }
                    Ping_Timer = new System.Timers.Timer();
                    long j = 0;
                    Ping_Timer.Interval = mrim_packet_header.Get_UL(Buf.Skip(44).ToArray(), ref j) * 1000;
                    Ping_Timer.Elapsed += new System.Timers.ElapsedEventHandler(Send_Ping);
                    Ping_Timer.Start();
                    Pack = new mrim_packet_header(Msg.CS_MAGIC, Msg.PROTO_VERSION, seq, Msg.MRIM_CS_LOGIN2, 0, 0, 0, 0, 0, 0, 0);
                    Pack.Add_Date_LPS(new string[] {Login, Password });
                    Pack.Add_Date_UL(new long[] { Status });
                    Pack.Add_Date_LPS(new string[] { User_Agent });
                    byte[] Auth = Pack.Generat_Packet();
                    Sock.Send(Auth);
                    Buf = new byte[48];
                    Sock.Receive(Buf);
                    byte[] Date_Len;
                    byte[] Date;
                    if (BitConverter.ToUInt32(Buf.Skip(12).Take(4).ToArray(), 0) != Msg.MRIM_CS_LOGIN_ACK)
                    {
                        Date_Len = new byte[4] { Buf[16], Buf[17], Buf[18], Buf[19] };
                        Date = new byte[BitConverter.ToUInt32(Date_Len, 0)];
                        int N = Sock.Receive(Date);
                        mrim.mrim_packet_header.Loger(Date, N);
                        if (Error_Connect_Method != null) Error_Connect_Method(this, Encoding.GetEncoding("windows-1251").GetString(Date));
                        return;
                    }
                    if (Complite_Connect_Method != null) Complite_Connect_Method(this);
                    Sock.Receive(Buf = new byte[44]);
                    if (BitConverter.ToUInt32(Buf.Skip(12).Take(4).ToArray(), 0) == Msg.MRIM_CS_USER_INFO)
                    {
                        Date_Len = new byte[4] { Buf[16], Buf[17], Buf[18], Buf[19] };
                        Date = new byte[BitConverter.ToUInt32(Date_Len, 0)];
                        int N = Sock.Receive(Date);
                        long M = 0;
                        long J = 0;
                        byte[] Buf_Text;
                        while (N > J)

    Мега авторизация на сервере mrim.mail.ru

    Nigma143, 06 Августа 2010

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

    +112

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    private void UpdateLayerLOBStatus(bool allDisable)
        {
          bool enable = true;
    
          if (allDisable)
          {
            enable = false;
          }
    
          SetStatuses(luLOBusiness, enable, true);
    ...........
     }

    Я не понимаю не то, что не я не говорю.

    Progreso, 17 Июля 2010

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

    +112

    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
    procedure TForm1.btn_enterClick(Sender: TObject);
    begin
      //blalbla
      if someInput.text='0' then
      begin
        //blabla
      end;
      if someInput.text='0.0' then
      begin
        //blabla
      end;
      if someInput.text='0.00' then
      begin
        //blabla
      end;
      //blalbla
    end;

    Мне когда-то одногруппник показал такой код.
    - А если там будет '0.0000'? - спросил я
    - Этот случай я не прорабатывал, люди так вводить не будут

    J0hnny, 10 Июня 2010

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

    +112

    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
    public static string ConvertBase64ToString(string b64)
            {
                string Value = b64;
                if (Value != null && Value.Length > 0)
                {
                    System.Text.ASCIIEncoding encoder = new System.Text.ASCIIEncoding();
                    System.Text.Decoder decoder = encoder.GetDecoder();
                    byte[] bytes = Convert.FromBase64String(Value);
                    int charCount = decoder.GetCharCount(bytes, 0, bytes.Length);
                    char[] chars = new char[charCount];
                    decoder.GetChars(bytes, 0, bytes.Length, chars, 0);
                    string results = new String(chars);
    
                    return results;
                }
                return string.Empty;
            }

    не говоря уже про локальную переменную Value, весь блок заменяется на
    return System.Text.ASCIIEncoding.ASCII.GetStrin g(Convert.FromBase64String(Value));

    eval_2009, 04 Июня 2010

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

    +112

    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
    static void Main(string[] args)
            {
                IPEndPoint myIP = null;
                TcpListener server = null;
                bool loop = true;
                while (loop)
                {
                    try
                    {
                        Random rnd = new Random(DateTime.Now.Millisecond);
                        new IPEndPoint(new IPAddress(new byte[] { 127, 0, 0, 1 }), rnd.Next(1000, 9999));
                        server = new TcpListener(myIP);
                        loop = false;
                    }
                    catch
                    {
                        loop = true;
                    }
                }
               //...
    }

    Подключаемся к серверу =)

    psina-from-ua, 02 Июня 2010

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