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

    В номинации:
    За время:
  2. 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

    Комментарии (36)
  3. 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)
  4. 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)
  5. 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

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