Кресты / Говнокод #11564 Ссылка на оригинал

0

  1. 1
QHash<QByteArray, QSharedPointer<KeywordAnalyzerResult::Statistics> >::const_iterator i = res.result()->constBegin();

Создание STL-style итератора для Qt-ных контейнеров обычно выглядит уродски.

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

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

  • И без Qt такую гадость можно написать, но есть же typedef 😉
    Ответить
  • [TarasBMode]собственно в этом одно из уродств крестов и есть[/TarasBMode]
    Ответить
    • Второе уродство заключается в "> >" с обязательным пробелом... Хорошо хоть в с++11 пофиксили эту неприятность.
      Ответить
      • Добавив при этом дополнительный костыль в парсер. Впрочем, их там и так уже должно быть не мало.
        Ответить
      • Да это и не то чтобы 'уродство'. В принципе, если действительно сложный шаблон, то даже удобнее отделять параметры, которые сами шаблоны, пробелами, чтобы в макаронину не превращалось.
        А дальше typedef.
        И, по существу, это пофиксенье никому не нужно. Однако, действительно логично, чтобы именно угловые скобки, а не операторы имели более высокий приоритет, как круглые скобки.
        Ответить
        • > то даже удобнее отделять параметры, которые сами шаблоны, пробелами

          От чего отделять? Это тоже самое, что заставлять в выражениях писать две закрывающих скобки через пробел:
          ((1+2)*(3+4) )
          . Пробел в этом месте (после последнего параметра шаблона) никому (кроме, конечно, парсера с++) нафиг не сдался.
          Ответить
          • (<пробел>(1+2)*(3+4)<пробел>)
            Обратите внимание, как оно написано выше в коде.

            Учитесь читать чужие сообщения.
            Ответить
            • В коде выше написано:
              QHash<QByteArray, QSharedPointer<KeywordAnalyzerResult::St atistics>[пробел]>
              а не
              QHash<[пробел]QByteArray, QSharedPointer<KeywordAnalyzerResult::St atistics>[пробел]>

              Поэтому я и привел пример как ((1+2)*(3+4)[пробел])). Учитесь читать.

              P.S. А пробел после открывающей скобки не имеет особого смысла. Да и в письменной речи не принятно ставить его.
              Ответить
    • Вы что Тараса живого никогда не видели?
      Надо так:
      TarasBMode := on
      {Крестоблядство!}
      {ОП-хуй}
      TarasBMode := off
      Ответить

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

Переведи на "PHP", guest!

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


    8