1. C++ / Говнокод #3698

    +160

    1. 1
    2. 2
    3. 3
    4. 4
    m_lActiveTab = GetCurSel();
    for (int i = 0; i < GetItemCount(); i++)
    	m_cItemSelected[m_lActiveTab] = false;
    m_cItemSelected[m_lActiveTab] = true;

    Вот так говнокодят в крупных проектах

    Запостил: Snake2101, 14 Июля 2010

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

    • Похоже, что копи-паст всему виной.
      Должно быть так :
      m_lActiveTab = GetCurSel();
      for (int i = 0; i < GetItemCount(); i++)
      	m_cItemSelected[i] = false;
      m_cItemSelected[m_lActiveTab] = true;

      Или как-то иначе ?
      Ответить
      • По идеи так и должно было быть
        Ответить
        • "по идеи" ?!
          Вон с моего говнокода!
          Ответить
          • показать все, что скрытоВ Древней Руси писали "по земли", "по идеи", "в деревни".
            Относительно древних русов "по идее" есть ошибка-аналогия с формами на -а, т.к. мягкие формы (-й-, допустим) имели форму "-и" в данном случаи + смещение падежа с предложного на дательный, тоже гадкая ошибка (что-то вроде "согласно плану" > "согласно плана").
            Граммар-наци 14 века негодуэ.
            Ответить
            • Про правописание можно только пожалуйста не лечить, я и так русский язык не знаю)))
              Ответить
    • GetItemCount() мульён раз будет вызыватся?
      Ответить
      • inline?
        Ответить
      • GetItemCount() будет вызываться GetItemCount()+1 раз.
        P.S. Если конечно возвращает неотрицательное число и не больше int'a.
        И к тому же, она действительно может быть inline для доступа к целочисленному private полю.
        Ответить
        • Тогда лучше так:
          int ItemCount = GetItemCount();
          for (int i = 0; i < ItemCount; i++)
          Ответить
        • > GetItemCount() будет вызываться GetItemCount()+1 раз.

          Функция сама задаёт, сколько раз она будет вызываться, это охуенно
          Ответить
          • >Функция сама задаёт, сколько раз она будет вызываться
            Капитан Очевидность предупреждает, что функция может вызываться и в других кусках кода.

            >охуенно
            В каком месте?
            Ответить
          • >Функция сама задаёт, сколько раз она будет вызываться
            Вообще-то это задает цикл ;)
            Ответить
            • Вам не понять всей глубины сей смысловой рекурсии :(
              Функция сама задаёт, сколько раз она будет вызываться, что тем самым задаст, сколько она будет вызываться, что задаст сколько вызываться.
              Понятно?
              Ответить
        • Могу тебя огорчить, GetItemCount это обложка для API функции SendMessage окнa TabControl
          Ответить
          • Я вообще не понимаю для чего это было сделано т.к в итоге оказалось что эта бойда не где не используется, возможно первоначально когда код писался лет 10 назад это где-то использовалось, а потом забыли убрать
            Ответить
      • Видимо на тот случай, если пользователь успеет за цикл сменить число выделеных элементов. :D
        Ответить

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