1. Список говнокодов пользователя Ordos

    Всего: 8

  2. C# / Говнокод #11231

    +134

    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 static DataSet GetSomeDataSet()
    {
        DataSet ds = null;
        object locker = new object();
        lock (locker)
        {
            if (ds == null)
            {
                // тут инициализация ds
    
                return ds;
            }
            else return ds;
        }
    }

    Метод из работающей проги. Возпроизвёл по памяти, но суть именно такая.
    Насколько понимаю, человек хотел результаты работы метода кэшировать в локальную переменную.
    Да ещё и lock на локальную переменную, который никогда не используется.

    Ordos, 19 Июня 2012

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

    −850

    1. 1
    -- Таблица в БД имеет колонку Visible, при этом значение 0 означает "Видим", а 1 - "Не видим"

    Ordos, 04 Мая 2011

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

    +139

    1. 1
    Response.Write("<" + '/'.ToString() + "script>");

    Даже не знаю, кому и зачем это понадобилось...

    Ordos, 24 Февраля 2011

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

    +94.5

    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
    /// Из aspx файла
    
    //<asp:Repeater ID="Repeater1" runat="server">
    //    <HeaderTemplate>
    //        <table width="100%" cellspacing="5">
    //    </HeaderTemplate>
    //    <ItemTemplate>
    //        <tr>
    //            <td>
    //                ...
    //            </td>
    //            <asp:Label runat="server" Visible='<%# DataBinder.Eval(Container.DataItem, "visibleCol2") %>'>
    //                <td>
    //                    ...
    //                </td>
    //            </asp:Label>
    //            <asp:Label ID="LCol3" runat="server" Visible='<%# DataBinder.Eval(Container.DataItem, "visibleCol3") %>'>
    //                <td>
    //                    ...
    //                </td>
    //            </asp:Label>
    //        </tr>
    //    </ItemTemplate>
    //    <FooterTemplate>
    //        </table>
    //    </FooterTemplate>
    //</asp:Repeater>
    
    // Из cs файла
    
    DataTable dtres = // получаем товары
    if (dtres != null && dtres.Rows.Count > 0)
    {
        DataTable dt = new DataTable();
    	/*...*/
        
        for (int i=0;i<dtres.Rows.Count;)
        {
            DataRow dr=dtres.Rows[i];
            /*...*/
    
            int col2Index = i + 1;
            if (col2Index < dtres.Rows.Count)
            {
                /*...*/
                i++;
                int col3Index = i + 1;
                if (col3Index < dtres.Rows.Count)
                {
                    /*...*/
                    i++;
                }
                else { /*...*/ }
            }
            else { /*...*/ }
    
            dt.Rows.Add(newRow);
            i++;
        }
    
        /*...*/
    }

    Человеку нужно было сделать товары в сетке 3x6.
    От того что он сделал у меня пропал дар речи. (Чтобы тут очень много кода не бы большую (не нужную для понимания) часть заменил на "...")
    Вобщем, в двух словах, он поместил вторую и третью ячейки таблицы в серверные контролы (причем в Label), а в коде берёт по три товара и засовывает в один RepeaterItem, ну а если количество товаров не делится нацело на три, то в последний RepeaterItem засовываются пустые данные, а Label делается невидимым.
    Как-то так.
    И самое главное, я не знаю, как человеку объяснить, что так нехорошо делать, т.к он главный программист...

    Ordos, 27 Сентября 2009

    Комментарии (9)
  6. JavaScript / Говнокод #1877

    +157.3

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    function SetStyleForFilterOver(this2) {
        this2.style.border = "1px solid #ea0000";
        this2.style.color = "white";
        this2.style.background = "#404040";
    }
    function SetStyleForFilterOut(this2) {
        this2.style.border = "1px solid #404040";
        this2.style.color = "#ea0000";
        this2.style.color = "#ea0000";
        this2.style.background = "#eeeeee";
    }

    Тс-с-с-с... Только не говорите автору про css и селектор ":hover" :о)

    Ordos, 21 Сентября 2009

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

    +136.4

    1. 1
    2. 2
    3. 3
    4. 4
    // Работаю asp.net программистом.
    // Показал главному программисту, как с помощью System.Web.Routing можно легко делать человекопонятные урлы.
    // Итог: Теперь у сайта урлы вида http://domain/filterDisks/42/0/14/1.
    // Вот сижу и думаю, что значат все эти циферки :'о(

    Ordos, 21 Сентября 2009

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

    +135.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
    public string GetDollarKurs(string input)
    {
        string dol = "[.\\s]*<img height=\"11\" alt=\"Доллар США\" hspace=\"2\" src=\"/images/icon_dollar.gif\" width=\"11\" align=\"left\" vspace=\"2\" border=\"0\">Доллар \r\n\t\t\tСША</td>\r\n\t\t<td></td>\r\n\t\t<td class=\"digit\" align=\"right\">[\\s]*\\d+\\,\\d+[.\\s]*";
        MatchCollection Matches = Regex.Matches(input, dol);
        if (Matches.Count == 1)
        {
            string res = Matches[0].Value;
            res = res.Trim();
            res = res.Substring(res.LastIndexOf('>') + 1);
            return res;
        }
        else
            return "";
    }

    Функция для получения курса доллара, в input подаётся хтмл главной страницы сайта cbr.ru и парсится.
    А web-сервисы пусть кто-нибудь другой изучает... :o)

    Ordos, 06 Сентября 2009

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

    +127

    1. 1
    2. 2
    3. 3
    4. 4
    if (CProducts.UpdateProductByPartNumber(row.Cells[2].Text, row.Cells[3].Text, Convert.ToDecimal(row.Cells[4].Text), curId, pgId, vendId) != -1)
    {
            // ...
    }

    Эх... первый месяц работы программистом я думал что экономить место - это круто :о)

    Ordos, 31 Августа 2009

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