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

    +950.3

    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
    //...
    for (int i = 0; i < arr.Length; i++)
    {
          if (i == 5)
          {
                 if (arr[i] == -1)
                 {
                        break;
                 }
                 else
                 {
                        return -1;
                 }
          }
          else continue;
    }
    //...

    Запостил: FMB, 31 Декабря 2009

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

    • Классика. Хорошо хоть, догадался break поставить.
      Ответить
    • Проголосовал за говнокод, но пожалуйста... а не могли бы вы весь метод запостить?...
      Ответить
      • public static int is5big(string str)
        {
              char[] strArr = str.ToCharArray();
              int[] arr = new int[strArr.Length];
              for (int i = 0; i < strArr.Length; i++)
              {
                    if ((int)strArr[i] >= (int)'a' && (int)strArr[i] <= (int)'z') arr[i] = -1;
                    else if((int)strArr[i] >= (int)'A' && (int)strArr[i] <= (int)'Z') arr[i] = 1;
              }
              for (int i = 0; i < arr.Length; i++)
              {
                    if (i == 5)
                    {
                           if (arr[i] == -1)
                           {
                                  break;
                           }
                           else
                           {
                                  return -1;
                           }
                    }
                    else continue;
              }
              return 1;
        }

        Когда - то надо было проверить является ли 5 буква строчной или нет. Тогда ничего другого придумать не смог, видимо спать очень хотел =)
        Ответить
    • показать все, что скрытоА что не так? Вроде обычный код?
      Ответить
      • Для Вас этот код является обычным? То есть char.IsLower(arr[4]) ? -1 : 1 и все это - одинаково красиво? IMHO, незнание возможностей платформы является признаком некомпетентности.
        Ни в коем случае не хочу обидеть автора. Если это было для него в период изучения платформы, то все ок. Если же он работает с ней не один год - увы.
        Ответить
        • В первую очередь говнокод в том, что цикл делает бесполезные первые 4 итерации. И абсолютно ненужная строка else continue;
          Ответить
    • if (arr.Length>4)
      {
      if (arr[5] != -1)
      return -1;
      }
      Ответить
      • Массивы тут с нуля нумеруются, вообще-то.
        Ответить
      • if (arr.Length > 5 && arr[5] != -1) return -1;
        Ответить
        • Если первое условие не прокатило, второе не станет оцениваться?
          Ответить
          • Смысла нету, ведь результат уже известен.
            Ответить

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