1. C# / Говнокод #22670

    −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
    public class MobileObjectCache<TKey, TItem> : ConcurrentDictionaryCache<TKey, TItem> where TItem : IIdentified<TKey>, IDataRecordLoadable, new()
    {
        public MobileObjectCache(IdSeries series)
            : base(series)
        {
            
        }
    
        protected override void OnUpdate(TKey key, TItem oldItem, TItem newItem)
        {
            MobileObject mo = oldItem as MobileObject;
            mo.Description = (newItem as MobileObject).Description;
        }
    }

    Главный разработчик знает как правильно расширять Generic-классы.

    random12, 25 Марта 2017

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

    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
    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
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    string[] elements = parameters.Split(new char[] { ',' });
    if (elements.Length > 0)
    {
        try
        {
            byte energoSafeModeSetup = Convert.ToByte(elements[0]);
            switch (energoSafeModeSetup)
            {
                case 0:
                    EnergoSafeModeSetup = EEnergoSafeModeSetup.Mode_0;
                    break;
                case 1:
                    EnergoSafeModeSetup = EEnergoSafeModeSetup.Mode_1;
                    break;
                case 2:
                    EnergoSafeModeSetup = EEnergoSafeModeSetup.Mode_2;
                    break;
            }
        }
        catch
        {
        }
    }
    if (elements.Length > 1)
    {
        try
        {
            SleepingIntervalMode1InMinutes = Convert.ToInt32(elements[1]);
        }
        catch
        {
        }
    }
    if (elements.Length > 2)
    {
        try
        {
            WakeUpReportType = (NavixyM7ReportType)(Convert.ToByte(elements[2]));
        }
        catch
        {
        }
    }
    if (elements.Length > 4)
    {
        try
        {
            if (elements[4] != string.Empty)
            {
                int hour = Convert.ToByte(elements[4]);
                ListSheduleInHour.Add(hour);
            }
        }
        catch
        {
        }
    }
    if (elements.Length > 5)
    {
        try
        {
            if (elements[5] != string.Empty)
            {
                int hour = Convert.ToByte(elements[5]);
                ListSheduleInHour.Add(hour);
            }
        }
        catch
        {
        }
    }
    if (elements.Length > 6)
    {
        try
        {
            if (elements[6] != string.Empty)
            {
                int hour = Convert.ToByte(elements[6]);
                ListSheduleInHour.Add(hour);
            }
        }
        catch
        {
        }
    }

    Чтение ряда параметров из строки.

    random12, 25 Марта 2017

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

    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
    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
    private DateTime GetDateTime(string elementDateTime)
    {
        try
        {
            string tempElementDateTime = elementDateTime;
            string temp = tempElementDateTime.Remove(4, elementDateTime.Length - 4);
            int year = Convert.ToInt32(temp);
            tempElementDateTime = tempElementDateTime.Remove(0, 4);
    
            temp = tempElementDateTime.Remove(2, tempElementDateTime.Length - 2);
            int month = Convert.ToInt32(temp);
            tempElementDateTime = tempElementDateTime.Remove(0, 2);
    
            temp = tempElementDateTime.Remove(2, tempElementDateTime.Length - 2);
            int day = Convert.ToInt32(temp);
            tempElementDateTime = tempElementDateTime.Remove(0, 2);
    
            temp = tempElementDateTime.Remove(2, tempElementDateTime.Length - 2);
            int hour = Convert.ToInt32(temp);
            tempElementDateTime = tempElementDateTime.Remove(0, 2);
    
            temp = tempElementDateTime.Remove(2, tempElementDateTime.Length - 2);
            int minute = Convert.ToInt32(temp);
            tempElementDateTime = tempElementDateTime.Remove(0, 2);
    
            temp = tempElementDateTime.Remove(2, tempElementDateTime.Length - 2);
            int second = Convert.ToInt32(temp);
            tempElementDateTime = tempElementDateTime.Remove(0, 2);
    
            return new DateTime(year, month, day, hour, minute, second);
        }
        catch
        {
            return DateHelper.MinDateTime;
        }
    }

    Парсинг DateTime из строки.

    random12, 25 Марта 2017

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

    0

    1. 1
    https://github.com/osdeverr/catnikita255/blob/master/cmd_interpreter.cpp

    barop, 25 Марта 2017

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

    +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
    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
    static void Main(string[] args)
            {
                string[] numsTo9 = { "", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine" };
                string[] numsTo19 = { "ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen" };
                string[] klorNums = { "", "", "twenty", "thirty", "fourty", "fifty", "sixty", "seventy", "eigthty", "ninety" };
                string[] bignums = { "", "", "", "hundred", "thousand", "thousand", "million" };
    
                string numStr = Console.ReadLine();
                string result = "";
                int number = Int32.Parse(numStr);
                int length = numStr.Length;
                int[] numsArr = new int[length];
    
                for (int i = 0; i < length; i++)
                {
                    if (i == 0)
                        numsArr[i] = number / (int)Math.Pow(10, length - (i + 1));
                    if (i == length - 1)
                        numsArr[i] = number % 10;
                    else
                        numsArr[i] = (number / (int)Math.Pow(10, length - (i + 1))) % 10;
                }
    
    Говно начинается тут
    
                result = (length == 3 ? numsArr[1] == 1 ? $"{numsTo9[numsArr[0]] } {bignums[length]} {numsTo19[(number % 100) - 10]}" :
                          $"{numsTo9[numsArr[0]] } {bignums[length]} {klorNums[numsArr[1]]} {numsTo9[numsArr[2]]}" :
                          length == 2 ? (numsArr[0] == 1) ? $"{numsTo19[number - 10]}" :
                          $"{klorNums[numsArr[0]]} {numsTo9[numsArr[1]]}" :
                          length == 1 ? numsTo9[number] :
                          length == 4 ? (numsArr[0] == 1) ? (numsArr[2] == 1) ? $"{numsTo19[(numsArr[0] * 10 + numsArr[1]) - 10]} {numsTo19[(numsArr[2] * 10 + numsArr[3]) - 10]}" :
                          $"{numsTo19[(numsArr[0] * 10 + numsArr[1]) - 10]} {klorNums[numsArr[2]]} {numsTo9[numsArr[3]]}" :
                          $"{klorNums[numsArr[0]]} {numsTo9[numsArr[1]]} {klorNums[numsArr[2]]} {numsTo9[numsArr[3]]}" : ""
                         );
                Console.WriteLine(result);

    Получаем цифру в виде слов по методу Доктора Пимсрала

    K1llray64, 24 Марта 2017

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

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    public ActionResult Register(bool? mode, string userId)
            {
                if (mode != (true || false))
                    mode = true;
                ViewBag.Mode = mode.Value ? "Reg" : "Confirm";
                ViewBag.UserId = userId;
                return View();
            }

    RomanPavlov, 24 Марта 2017

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

    +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
    /**
         * Конвертирует шестнадцатеричное число в десятичное
         *
         * @param string $hex шестнадцатиричное число
         * @return string десятичное число
         */
        private static function convertHexToBase10(string $hex): string
        {
            $base10result = 0;
            foreach (str_split(trim($hex)) as $hexPart) {
                $base10 = base_convert($hexPart, 16, 10);
                $base10result = gmp_add(gmp_mul($base10result, 16), $base10);
            }
    
            return $base10result;
        }

    Задания для самопроверки:
    1. Найдите ошибку в phpdoc.
    2. Укажите функцию из стандартной поставки PHP, которая делает то же самое.
    3. Дана строка, представляющая md5-хеш, то есть строковое представление 128-битного шестнадцатиричного числа. Напишите пример вызова функции из стандартной поставки PHP, возвращающую остаток от деления этого числа на 3, не используя функцию из предыдущего задания.

    anei, 23 Марта 2017

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

    +4

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    Собственно сижу я на работе, никого не трогаю, а тут в чат скайпа заваливается запыхавшийся бекэендер и говорит
    - там... там... там ТАКОЕ!!
    Все напряглись
    - Какое?
    - Там... Там 7 шарп завезли.
    Пришлось успокоить парня, сказать, что до sp1 никто на 2017 студию переходить не будет, да и вообще, мы тут таких как вы не любим. 
    Но, любопытство гложило меня, почему я решил сам ознакомиться с мнимым великолепием надвмгающегося апдейта и спешу поделится 
    с вами - а чего же там такого собственно завезли

    Посвящается Стретору, который требовал от меня статью

    kegdan, 23 Марта 2017

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

    0

    1. 1
    n := trunc(sysdate) - trunc(sysdate-2);

    PL/SQL. Вендорская поддержка. Гениальное просто.

    mishok, 23 Марта 2017

    Комментарии (0)
  10. Куча / Говнокод #22660

    0

    1. 1
    =ЕСЛИ(ГОД(Utils!$B$4)>ГОД(Utils!$B$5);0;ВЫБОР(МЕСЯЦ(Utils!$B$4);P8;P8+S8;Y8;Y8+AB8;Y8+AB8+AE8;Y8+AK8;Y8+AK8+AN8;Y8+AK8+AN8+AQ8;Y8+AK8+AW8;Y8+AK8+AW8+AZ8;Y8+AK8+AW8+AZ8+BC8;Y8+AK8+AW8+BI8))

    Формула расчета накопленного значения с начала года в Excel. Автор не слушал про СУММЕСЛИ().

    mishok, 23 Марта 2017

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