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

    +102

    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
    /// <summary>
    /// Проверка пароля *
    /// </summary>
    private string CheckPassword(String _password)
    {
        int kol = 0;
        const int LEN = 32;
        if (_password.Length == LEN)
            return _password;
        else
        {
            StringBuilder _pass = new StringBuilder(_password, LEN);
            if (_password.Length > LEN)
            {
                kol = _password.Length - LEN;
                return (_password.Substring(0, _password.Length - kol));
            }
            else
            {
                kol = LEN - _password.Length;
                int i = 0;
                while (i != kol)
                {
                    _pass.Append(" ");
                    i++;
                }
            }
            return _pass.ToString();
        }
    }

    Запостил: Crazzy, 12 Декабря 2012

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

    • kol = _password.Length - LEN;
       _password.Substring(0, _password.Length - kol);

      Скобки вроде еще в начальной школе учат раскрывать...
      Про осмысленность концепции молчу.
      Ответить
    • А почему звездочка, а сноски нигде нет? *
      Ответить
      • сноска вторым шрифтом в самом низу
        * Перепишите этот ужас
        Ответить
    • Жесть!
      Целая процедура вместо двух строчек
      const int LEN = 32;
      return string.Concat(password, new string(' ', LEN)).Substring(0, LEN);
      Ответить
      • Меньше заплатят же, да и джуниоры не поймут.
        Ответить
        • Ну знаете, что бы понять ЭТО у меня ушло минут 5. Особенно шикарна вот эта часть
          kol = LEN - _password.Length;
          int i = 0;
          while (i != kol)
          {
          _pass.Append(" ");
          i++;
          }
          Ответить
      • char* CheckPassword(const char *password) {
            char *result = (char*) malloc(31);
            sprintf(result, "%-30s", password);
            return result;
        }


        Прародитель негодуэ.
        Ответить
        • Позор мне.
          -     sprintf(result, "%-30s", password);
          +     sprintf(result, "%-30.30s", password);
          Ответить
      • Можно ещё короче:
        return password.PadRight(LEN);
        Ответить
        • Ну вот и я говнокод тут в комменте написал...
          Ответить
    • Вообще странно называть это проверкой пароля. Нормирование какое-то.
      Ответить
    • Олдфаги помнят, что логин ИЛИ пароль не должны совпадать.
      Ответить

    Добавить комментарий