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

0

  1. 1
const TWindow window(TWindowKindController::TWindowID WindowName, bool& isMainWindow=*(bool*)NULL)

Крупный проЭкт.
Мне кажется или с isMainWindow что-то не чисто?

Запостил: Говногость Говногость, (Updated )

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

  • А почему бы и нет, кстати? Необязательный [out] параметр.
    Другой вопрос, что указателем все-таки, наверное, было лучше - при вызове придется брать адрес, но амперсанд только добавит наглядности.
    Ответить
    • Можно бы и иерархию классов окон построить нормальную. А не заниматься извращениями.
      Ответить
    • Можно ещё boost::optional<bool&> тогда уже. Немного оверхеда, зато работать потом - один в один (кроме неявных преобразований, конечно) как с указателем, только при попытке разыменовать NULL (точнее, boost::none) будет ассерт.

      А конкретно за NULL в ссылке - руки отрывать и обратно в задний проход засовывать. С проворотом до щелчка. Т.к. у нормальных людей функция, принимающая ссылку, как раз и символизирует, что этот аргумент обязателен, и неинициализированным не должен быть никогда.

      А то так можно докатиться и до кодстайла с обязательными проверками ссылок на NULL...
      Ответить
      • >А то так можно докатиться и до кодстайла с обязательными проверками ссылок на NULL...
        У нас в этом проекте так и есть. 🙁
        Ответить
        • Виновника уже заставили сделать харакири тупым ножом?
          Ответить

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

Помни, guest, за тобой могут следить!

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


    8