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

    +993

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    if(pObject == NULL)
    {
            //code
    }else if(pObject != NULL && pObject->getProperty() == Class::VALUE)
    {
           //code
    }

    Идентификаторы надуманные, но суть такова

    Запостил: google-moogle, 14 Декабря 2011

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

    • А в чем прикол?
      Ответить
      • Зачем вторая проверка на pObject != NULL ?
        Ответить
        • Что то мне подсказывает что такой фигни в любом проекте найти дофига можно, нисмешно.
          Ответить
    • а #14/88 считается гетом?
      Ответить
    • Комбинаторная избыточность?
      Ответить
    • Когда уже народ выучит что вход иф может быть не только через оператор типа bool?
      Ответить
      • а что плохого в == NULL?
        Ответить
      • Когда уже народ выучит, что для небулевых выражений читаемее не сокращать?
        Ответить
        • Дело вкуса, в общем-то. Я обычно не пишу != NULL, но при этом оставляю == NULL.
          А код, подобный приведенному выше обычно появляется после изменения существующего кода. Понадобилось в какой-то момент времени обработать нулевой указатель — вот и дописали секцию.
          Ответить
          • проще изначально на ==NULL проверять, а не бред всякий писать, как автор того дивного кода, 2 прорки, это избыточность
            Ответить
    • if (pObject && pObject->IsSomething())
        Foo();
      if (pObject == NULL)
        LogWarning(...);
      if ((i > 0 && pObject != NULL) || IsValid)
        Bar(...);
      if (pObject)
        pObject->Release();

      Как-то так - вроде эстетично.
      Ответить

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