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

    +128

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    //...
    for (int i = 0; i < size; i++)
    {
        //...
        if (i == size + 2) break;
        //...
    }
    //...

    Увидел у соседа в коде. Осторожность никогда не помешает :)

    Запостил: MoN, 21 Декабря 2013

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

    • А там между строками 3 и 5 случаем не меняется i?

      P.S. Хотя даже если и так, то проверка на == все равно попахивает.
      Ответить
      • >>А там между строками 3 и 5 случаем не меняется i?

        что то типа
        if (tratata) i +=3;
        лол

        Без полной задачи не интересно - нельзя оценить всю гениальность задумки. Требую весь код!
        Ответить
        • > i +=3
          Ну так нельзя, текущий код из-за == сломается при i == size-2 и i == size-3. Разве что в tratata эти варианты выколоты...
          Ответить
          • почему сломается? там же не указанно, что идет работа с массивом. он может спокойно отработать при i == size+1 и завершиться.
            Ответить
            • Ну хотя да, это же просто абстрактный size, а не some_array.Length() или как там его в шарпе.
              Ответить
              • без скобок - это свойство а не метод)
                некоторые Count() юзают
                Ответить
                • > .Length
                  > .Count()
                  А зачем два геттера, делающих одно и то же?
                  Ответить
                  • Count вместе с LINQ в С# 3.0 пришел как метод расширения для IEnumerable

                    Типа

                    public static int Count<TSource>(this IEnumerable<TSource> source);

                    Ответить
                  • Как одно и тоже? Нисколько ни одно и тоже. Один вернет константу, а другой прошагает весь список.
                    Ответить
                    • Управляемая сложность алгоритмов? O(1) для VIP-клиентов, O(N) для обычных. Должен где-то быть Count2 с O(N^2) для тех, кто часто менял требования.
                      Ответить
                    • Всегда? Даже если он уже есть?
                      Ответить
      • > А там между строками 3 и 5 случаем не меняется i?
        может еще size меняться
        Ответить
    • хм... волне может быть вариант работы с size в разных потоках, правда чем проверять проще лочить...но человек может плохо разбирается в потоках
      Ответить

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