Няшная / Говнокод #23706 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
char bytes[] = {1, 2, 3, 4, 5, 6, 7, 8, 9};
function1(bytes);
(void)(bytes[0] = 10), (void)(bytes[1] = 11), (void)(bytes[2] = 12); //WTF?
function2(bytes);

Вот такую байду требует написать XCode при присвоении элементов массива через запятую, иначе warning.
Гейкорп и их главпидор Кук совсем охренели, мало того что последие хуйкоды крашатся и виснут по фазам луны, мало того что встроенный гуй систем контроля версий работает как говно, так оно еще и ворининги выдает на ровном месте - качество apple - blyad.

Запостил: Psionic Psionic, (Updated )

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

  • А зачем присваивание через запятую?
    Какой-то стандарт оформления? Для унификации с множественным объявлением-определением? Точка с запятой ассоциируется с новой строкой, а запятая - нет?
    Или эта питушня срабатывает даже из-за запятой внутри for?
    Ответить
    • Я уже подобное встречал. Суть: некоторые гайдлайны позволяют писать if/for/while без скобок только если операнд помещается в одну строку. Таким образом, если писать присваивания через запятую, можно экономить целую скобку!
      if (someCondition)
        a[i] = p, b[j] = vd = c[k] = q;

      читаешь такой код и скупая мужская кровавая слеза течет по скуле
      Ответить
      • А я люблю так писать типа
        if (someOne)
             SomeFunction(); //Очень компактно выходит
        Ответить
        • да я и сам так пишу. Просто по факту две операции через запятую - это МАТЬЕГО ДВЕ операции. По факту, оператору запятой всего два назначения:
          1. for с двумя индексами: for (auto i = 0, j = n; i < m; i = j, j += n)
          2. шаблоны на variadic template'ах
          Всё остальное - методы обфускации
          Ответить
      • Ну а какая-нибуть такая хуйня?
        if (someCondition1)
          a[i] = p;
        else if (someCondition2)
          b[j] = q;
        else if (someCondition3)
          a[j] = q;
        else if (someCondition4)
          b[j] = p;
        else if (someCondition5)
          a[i] = vd;
        else if (someCondition6) {
          a[i] = p;
          b[j] = vd = c[k] = q;
        } else if (someCondition7)
          a[i] = bq;
        else if (someCondition8)
          b[j] = pp;

        - ад перфекциониста
        Ответить
        • Это еще нормально.

          Понадобилось быстро вставить дополнительную логику в одну из веток: добавили туда скобки. Типично для всякого легаси, покрытого заплатками.

          >ад перфекциониста
          Хуже когда коду лет дждесять, и за это время в нём высралась куча людей с различными кодстайлами, разной культорой кодинга, разными привычками и взглядами на жизнь.
          Ответить
    • А чтоб строки не плодить однотипные и дурацкие. Ненавижу "жидкий" однотипный код.
      Ответить
      • когда "однотипные и дурацкие" строки в столбик, хотя бы сразу визуально видно, что они однотипные и дурацкие
        Ответить
  • Можно подумать, что 7 лет назад XCode не крашился, а его встроенный vcs-клиент не был говном.
    А warning должен выдавать clang, к нему все претензии.
    Ответить
  • да-да, это шланг плохой, это не ты пишешь говно
    Ответить
    • Ну это спорный вопрос - взять хотя-бы оппозитный двигатель некоторых корейских легковушек, инженеры были придурки когда для замены свечей двигатель нужно вынуть, или в автосервисах сплошь жадные и ленивые жопы не желающие работать и доящие клиентов? Аналогично - чья лажа моя или анализатора кода?
      Ответить

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

Из-за тебя ушел bormand, guest!

    А не использовать ли нам bbcode?


    8