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

    +68.3

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    // Код на Qt
    QStringList list;
    ...
    if (0 == QString::compare(list[i].data()[0],' ',Qt::CaseInsensitive))
    {
    ...
    }
    ..

    Сравнение нулевого символа i-той строки с пробелом)))

    Запостил: k06a, 30 Ноября 2009

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

    • кагбэ не совсем говнокод (работает-то правильно), но трехэтажность решения и, особенно, "Qt::CaseInsensitive" - доставляют.
      Ответить
      • На самом деле, лично мне данная конструкция напоминает что-то вроде if(b.toString().length() == 4), где b - это bool. ;)
        Ответить
      • Ну, я считаю, что говнокод не обязан работать неправильно, чтобы быть говнокодом. Есть множество других факторов, по которым можно судить о степени говнистости.
        Решение через жопу, например, как тут.
        Ответить
      • Слоган говнокода (ввеху страницы) не утверждает, что говнокод - нерабочий код. Думаю, в ближайшее время ещё вас такими перлами порадую))))
        Ответить
    • а если строка пустая, то код уже не будет верно работать.
      Ответить
      • Согласен.
        Для этого в QString придумали булевский метод startsWith.
        Ответить

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