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

    +162

    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
    GetFirstFieldWithName(CString szElemName)
    {
        int i = -1;
    
        for (i = 0; i < m_FieldValues.GetSize(); i ++)
        {
            if (m_FieldValues[i]->m_szElemName == szElemName)
                break;
        }
    
        if ((i > 0) && (i < m_FieldValues.GetSize()))
            return m_FieldValues[i];
        else
            return NULL;
    }

    Запостил: Shumway, 22 Ноября 2010

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

    • почему в 11 строке не i >=0 ?
      Ответить
      • видимо, поэтому этот код здесь.
        а еще зачем строка 3 с указанием значения?
        Ответить
        • первопричину говнистости я лично вижу в том, что return надо было делать сразу из цикла. всё остальное - последствия реализации.
          Ответить
          • ну может планировалась пост-обработка?
            хотя какая там обработка...
            я тоже бы написал с return в цикле - а так еще и многабукв какой-то.
            Ответить
        • >зачем строка 3 с указанием значения?
          Вероятно потому, что неинициализированная переменная это плохо :)
          Даже не смотря на то, что буквально сразу присваивается значение.
          Ответить
    • В 11-й строке ошибка, да -) Её поиск и привёл к этому куску.
      Выход из цикла конечно надо делать сразу.
      Ответить

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