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

    +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
    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
    static void generatorPass()
            {
                string letters = "aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ1234567890";
                StringBuilder initPass = new StringBuilder("", 6);
    
                for (int i = 0; i < 6; i++)
                {
                    initPass.Append(0);
                }
    
                int count = 0;
    
                for (int i = 0; i < 6; i++)
                {
                    for (int a = 0; a < letters.Length; a++)
                    {
                        initPass[i] = letters[a];
    
                        for (int b = 0; b < letters.Length; b++)
                        {
                            initPass[i + 1] = letters[b];
    
                            for (int c = 0; c < letters.Length; c++)
                            {
                                initPass[i + 2] = letters[c];
    
                                for (int d = 0; d < letters.Length; d++)
                                {
                                    initPass[i + 3] = letters[d];
    
                                    for (int e = 0; e < letters.Length; e++)
                                    {
                                        initPass[i + 4] = letters[e];
    
                                        for (int f = 0; f < letters.Length; f++)
                                        {
                                            initPass[i + 5] = letters[f];
    
                                            Console.WriteLine(count++ + "]----> Проверяется пароль: [" + initPass.ToString() + "]");
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }

    Кажется, что то пошло не так . Как можно сделать это проще ?

    partizanes, 06 Июня 2016

    Комментарии (83)
  2. JavaScript / Говнокод #20136

    +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
    function insertComment(comment) {
        // todo: optimize this shit
        for (var j = 0; j < $scope.comments.length; ++j) {
            if ($scope.comments[j].thread_id == comment.thread_id) {
                $scope.comments[j] = comment;
                return;
            }
            if ($scope.comments[j].comment_id < comment.comment_id) {
                $scope.comments.splice(j, 0, comment);
                return;
            }
        }
        $scope.comments.push(comment);
    }
    
    for (var i = 0; i < data.length; ++i) {
        comment = data[i];
        comment.text = $sce.trustAsHtml(comment.text);
        comment.postedFuzzy = fuzzyDate(new Date(comment.posted), new Date());
        insertComment(comment);
    }

    Оптимальное набивание комментов в сток за O(n^2).

    http://146.185.130.46/ngk/

    bormand, 06 Июня 2016

    Комментарии (120)
  3. PHP / Говнокод #20135

    +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
    public function selectValueType($value)
        {
            $type = null;
            if (App::helperPhone()->parseMobile($value)) {
                $type = 1; //телефон    
            }
            if (App::helperEmail()->validate($value)) {
                $type = 2; //email
            }
            return $type;
        }
    
    
    
    А потом  в десятке методов:
    
     public function getLogin($value)
        {
            $type = $this->selectValueType($value);
            switch ($type) {
                case 1:
                    $type = 'phone';
                    break;
                case 2:
                    $type = 'email';
                    break;
            }
            if ($type) {
                $value = $type == 'phone' ? App::helperPhone()->parseMobile($value) : $value;
               // ... прочий говнокод
            }
    }

    Вот такие перлы достались в наследство. Приходится проводить полный рефакторинг :((

    Panda, 06 Июня 2016

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

    +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
    15. 15
    16. 16
    17. 17
    18. 18
    .. Подставные Зомби .. продолжение
      при наличии в Локации нескольких Фортов / Замков / Башен может сложиться ситуация ,что Защищать Форт 
    уже нечем и более удобно избрать местом занятия Алхимией какую-нибудь Башню . При этом может быть 
    что Пара Замков находиться под контролем не особо приветливой стороны хотя с ней есть Серый Нейтралитет. 
      как БелАякс понял из Серой Книги Некромантии в который было полно различных Серых Советов для 
    разных случаев : то в таком случае рекомендовалось от имени Белиара выставить на дорогу к Покинутому Форту любую 
    Зомби Группу обычно состоящую из 10 -ка Армий - особо указывалось что это должны быть Потрепанные Зомби 
    так как их потрепанный вид мог намекать на возможное скрытое Проклятие которое могла содержать 
    такая Зомби Группа : с одной стороны не Некроманту будет сложно определить так ли это , с другой 
    если это будет Некромант то тогда это будет наверняка Союзник к тому же Герой уже находится в Башне . 
      При наличии возможности обычную Башню можно было сделать Волшебной Башней или Серой Башней 
    и иметь возможность влиять на такие Зомби Группы .. но это был немного другой момент ,а именно в этом случае 
    даже необычный Герой скорее всего проедет мимо таковой Зомби Группы ,если  будет куда .. 
    ..а куда - это скорее всего туда к одному из двух замков из той Пары Замков . Чем по-сути обеспечивалась 
    безопасность Серой Башни и возможно Форта - ведь Замок был на порядок мощнее в обороне , если тот 
    удастся захватить - но тогда Бой с Зомби Группой не желателен если Герой не собирался штурмовать Форт 
    по той причине что если он штурманет Форт ,то на Замок ему уже сил не хватит : обычно выбирался более 
    приемлимый для Штурма Замок в котором можно было прилично долго Копить Силы ...

    LispGovno, 04 Июня 2016

    Комментарии (158)
  5. Java / Говнокод #20132

    +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
    // Если игрок временный то не даём изменять лимит
    
    public void updatePlayerLimits(Long userId, int limitAmount) {
            Player player = userComponent.getPlayer(userId);
            if (player == null) {
                throw new RuntimeException("Error on find user for updating user deposit limits, userId = " + userId);
            }
    
            if (player.isTemporary()) {
            	throw new RuntimeException("saveLimit-newAmount-tempPlayer-message");
            }
           player.setLimit(limitAmount)
    }
    
    // И где-то в контроллере админки
    
    public void doSubmit() {
    ...
    	try {
    		getPlayerLimitComponent().updatePlayerLimits(getPlayerId(), 10);
    	}catch(RuntimeException e){
    		if(!e.getMessage().equals("saveLimit-newAmount-tempPlayer-message"))
    			throw e;
    	}
    }

    Просто молча не даём админам изменять лимиты игроку если он временный

    stokito, 03 Июня 2016

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

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    /* This is the famous internal descriptor that UDFs can use, too. */
    typedef struct paramdsc {
        ISC_UCHAR	dsc_dtype;
        signed char		dsc_scale;
        ISC_USHORT		dsc_length;
        short		dsc_sub_type;
        ISC_USHORT		dsc_flags;
        ISC_UCHAR	*dsc_address;
    } PARAMDSC;

    Комментарии сохранены

    LispGovno, 03 Июня 2016

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

    −98

    1. 1
    ЭтоДокумент = Метаданные.Документы.Содержит(ЭтотОбъект.Метаданные())

    Примечательно, что вызывается из модуля формы документа, больше нигде процедура с ЭТИМ не используется.
    В документе проверяем, что это документ :/

    Moonlight, 03 Июня 2016

    Комментарии (16)
  8. Куча / Говнокод #20128

    +5

    1. 1
    2. 2
    3. 3
    4. 4
    //Сегодня у меня вопрос по говнокоду.
    //Как у нас на говнокодике реализовано сколько непросмотренных комментариев в каждом треде?
    //Неужели на каждого юзера заводится счётчик и инкрементится при добавлении в каждой теме?
    //Неужели на каждого юзера на каждый комментарий заводится флаг, сообщающий какой комментарий прочитан, а какой нет?

    LispGovno, 03 Июня 2016

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

    −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
    if (avt_cust.Login == "admin") { Enter(GoodFile); } //Возможность добавления/редактирования/удаления для админа
                                    else 
                                    {
                                        if (good.Count != 0)
                                        {
                                            Korz(orderGood);                                                  //Просмотр корзины для пользователя
                                            Console.WriteLine("Продолжить покупки или оформить заказ?");
                                            Console.WriteLine("1.Продолжить покупки \t 2.Оформить заказ \t 3.Изменить количество товаров");
                                            int n = Convert.ToInt32(Console.ReadLine());
                                            if (n == 2) { OrderBuy(orderGood, avt_cust, OrderFile); }   //Обработка заказа    
                                            else { if (n == 3) { EditKorz(orderGood); } }      //Редактирование содержимого корзины
                                        } else { Console.WriteLine("Корзина пуста!"); }
                                    }   
    
    
    // Скрытые возможности foreach через инкримент i
      Console.WriteLine("У Вас в корзине: ");
                int all_price = 0;
                int i = 1;
                foreach (Goods o in orderGood)
                {
                    Console.WriteLine("{0}.{1} - {2} шт", o.Id, o.Name, o.Number);
                    Console.WriteLine("Цена за {0} шт: {1} грн", o.Number, o.Price * o.Number);
                    all_price = all_price + o.Price * o.Number;
                    i++;
                }
                Console.WriteLine("Сумма: {0} грн", all_price);

    Курсовая работа в УНИВЕРСИТЕТЕ, всем ставят пятерки.

    govnokoderphp, 03 Июня 2016

    Комментарии (7)
  10. JavaScript / Говнокод #20124

    +5

    1. 1
    2. 2
    3. 3
    if ($('.b-form__row_hide').hasClass('b-form__row_hide')) {
    	$('.b-form__row_hide').addClass('b-form__row_hide');
    }

    riddick6600, 02 Июня 2016

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