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

    Всего: 11

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

    +1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    private IDictionary<string, Value> valueIndex;
    ...
    
    var result = this.valueIndex
              .Where(v => v.Key == prefix + hashCode.ToString())
             .Select(v => new
             {
                    path = v.Value.Path,
                    field = v.Value.Field
              })
              .FirstOrDefault();

    Трушный способ достать значение из словаря.
    В словаре 10000 записей, за каждой полезут хотя бы раз

    adoconnection, 05 Мая 2020

    Комментарии (1)
  3. C# / Говнокод #26468

    +1

    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 ProgressBarOfElapsedDays(DateTime dateTime, bool isRefreshebleat = false)   // рефрешеБЛЕАТ! :))
    {
        int daysOfYear = DateTime.IsLeapYear(dateTime.Year) ? 366 : 365;
        int dayInProcents = daysOfYear * 100 / 100;     // WAT?
        int currentDay = dateTime.DayOfYear * 100;
        int daysOfYearNotElapsed = daysOfYear * 100 - currentDay;  // Сложный матан
        int procent = 100 - (daysOfYear * 100 - currentDay) / dayInProcents; 
        int buffer = 0;
    
        if (isRefreshebleat)
        {
            if (Console.CursorTop >= 1 || Console.CursorLeft >= 1)
            {
                Console.SetCursorPosition(Console.CursorLeft - Console.CursorLeft, Console.CursorTop - Console.CursorTop); // когда Console.SetCursorPosition(0, 0) недостаточно
            }
        }
    
        // остальной код
    }

    isRefreshebleat и всё остальное :))

    adoconnection, 06 Марта 2020

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

    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
    public class HttpQueryNameValueCollection : NameValueCollection
        {
            private ParallelLoopResult _parallelLoopResult;
    
            public override string ToString()
            {
                List<string> result;
                result = new List<string>();
                _parallelLoopResult = Parallel.ForEach(AllKeys, p =>
                {
                    if (BaseGet(p) != null)
                        result.Add(p + "=" + Get(p));
                });
                return string.Join("&", result);
            }
        }

    Формирование ссылки с query-параметрами недостаточно быстро, поэтому нужно это сделать в параллель :D

    adoconnection, 24 Октября 2019

    Комментарии (13)
  5. Куча / Говнокод #21997

    −17

    1. 1
    2. 2
    3. 3
    Сделайте блять Лучший за год, заебали, что сука, сложно чтоли один фильтр добавить?
    
    и нехуя почту писать если хуй на нее кладете

    adoconnection, 18 Января 2017

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

    −11

    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
    public object GetUISetting(string path)
    {
        List<string> splittedPath = path.Split('/').ToList();
        string keyName = string.Empty;
    
        foreach (string pathItem in splittedPath)
        {
            if (pathItem.ToLowerInvariant() == "ui")
            {
                continue;
            }
    
            if (pathItem.First() != '@' && string.IsNullOrEmpty(keyName))
            {
                keyName = pathItem;
                continue;
            }
    
            if (bindingItem.ToLowerInvariant() == "@enabled")
            {
                return this.LoadUIValue(keyName);
            }
    
            throw new UISettingsLoaderException("Can't load setting: {0}", binding);
        }
    
        throw new UISettingsLoaderException("Can't load setting: {0}", binding);
    }

    новый паттерн для циклов:
    Продолжи или умри! (continue or throw)

    Данная конструкция предназначена для распарсивания настроек по ключу вида
    "UI/MySetting1/@enabled"
    "UI/MySetting2/@enabled"
    ...
    строка всегда из трех элементов, всегда @enabled в конце, только средняя часть отличается.

    adoconnection, 07 Сентября 2015

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

    +141

    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
    private string Time
            {
                get
                {
                    DateTime d;
                    d = DateTime.Now;
    
                    string t;
    
                    // Get the Date
                    if (d.Month.ToString().Trim().Length == 1)
                    {
                        t = "0" + d.Month.ToString().Trim() + "/";
                    }
                    else
                    {
                        t = d.Month.ToString().Trim() + "/";
                    }
                    if (d.Day.ToString().Trim().Length == 1)
                    {
                        t += "0" + d.Day.ToString().Trim() + "/";
                    }
                    else
                    {
                        t += d.Day.ToString().Trim() + "/";
                    }
                    t += d.Year.ToString().Trim() + " ";
    
                    // Get the time
                    if (d.Hour.ToString().Trim().Length == 1)
                    {
                        t += "0" + d.Hour.ToString().Trim() + ":";
                    }
                    else
                    {
                        t += d.Hour.ToString().Trim() + ":";
                    }
                    if (d.Minute.ToString().Trim().Length == 1)
                    {
                        t += "0" + d.Minute.ToString().Trim() + ":";
                    }
                    else
                    {
                        t += d.Minute.ToString().Trim() + ":";
                    }
                    if (d.Second.ToString().Trim().Length == 1)
                    {
                        t += "0" + d.Second.ToString().Trim() + ".";
                    }
                    else
                    {
                        t += d.Second.ToString().Trim() + ".";
                    }
                    if (d.Millisecond.ToString().Trim().Length == 1)
                    {
                        t += "00" + d.Millisecond.ToString().Trim() + ".";
                    }
                    else if (d.Millisecond.ToString().Trim().Length == 2)
                    {
                        t += "0" + d.Millisecond.ToString().Trim() + ".";
                    }
                    else
                    {
                        t += d.Millisecond.ToString().Trim() + ".";
                    }
    
                    return t;
                }
            }

    Классическая вариация на тему DateTime, чтобы получить 07/10/2015 18:45:03.647.

    adoconnection, 10 Июля 2015

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

    +159

    1. 1
    $this->vars['cookie_domain'] = $this->vars['cookie_domain'] == "" ? ""  : $this->vars['cookie_domain'];

    Из IPB от 2007 года, по следам индусского неизвестного классика.

    Если cookie_domain = "", то пусть будет "", а если нет, то и хуй с ним, пусть остается как есть.

    adoconnection, 21 Марта 2015

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

    +163

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    с сохранением авторского форматирования:
    
    <script type="text/javascript">
                    $(function() {
                       
                        if (<%= (orderedPartnerOffer != null).ToString().ToLower() %>) {
                            $('p','#idProjectStepContent<%= stepGuid %>').text('Ваша заявка успешно отправлена.');
             }
    
    </script>

    В джаваскрипте на онлоад проверить, есть ли значение у серверной переменной, чтобы с помощью жЭкУэээри обновить текст элемента. Ояебу. Кажется мы наняли сатану.

    adoconnection, 09 Июля 2014

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

    +135

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    bool exit = false;
    while (!exit)
    {
        if (Console.KeyAvailable)
        {
            ConsoleKeyInfo key = Console.ReadKey(true);
            exit = true;
        }
    }

    Православная замена Console.ReadKey();

    adoconnection, 09 Октября 2013

    Комментарии (53)
  11. JavaScript / Говнокод #3092

    +144

    1. 1
    2. 2
    3. 3
    <p class="paragraph">
            ... текст...
     </p>

    зобавный кусок HTMLя, сори что в яваскрипт, сюда ближе всего :)

    adoconnection, 23 Апреля 2010

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