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

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
CTvoid cSG5Exception::Get (CTstatus& Status,
                           CTsymbol& Error,
                           CTsymbol& SubError,
                           string& Description)
{
   if (Description.c_str() != NULL) {
       Description = m_description;
   }
   Status = m_status;
   Error = m_error;
   SubError = m_subError;
}

итолианский с++ панимаш, рагацци.
что они хотели в строках 6-8 сказать кануло в лету.
и вместо 4 человеческих геттеров один бесполезный заху*чили. (бесполезный тем что четыре переменные всегда надо под рукой иметь.)

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

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

  • CTstatus& Status,
    CTsymbol& Error,
    CTsymbol& SubError,
    Уберэксепшон, надэксепшон, эксепшон, субэксепшон, андерэксепшон.
    Ответить
    • Вообще, хорошая традиция заводить один класс эксепшон на все случаи жизни... 😀
      Ответить
      • или даже не класс. Насколько я помню, плюсы позволяют в качестве эксепшона кидать что угодно
        Ответить
      • к слову там этот класс именно так и используется.

        там в двух разных краях проекта две несовместимые крайности: (выше) один эксепшн на все случаи жизни и по эксепшену на каждый уникальный случай. в добавок, в паре мест, в новом коде на это дело народ забил и пользуется третьей более осмысленой иерархией эксепшенов наследованой от std::exception. вообщем, разброд и шатание традиционные коммерческому софту который уже раз пять руки менял.
        Ответить
  • Если задушите автора -- мы свидетели, что это было состояние аффекта.
    Ответить
  • Метод `c_str()` класса `std::string` никогда не возвращает null pointer. Для пустой строки, например, возвращается указатель на строку "", но не null pointer. Что имел в виду аффтар - не ясно.
    Ответить
  • Не уверен что исключения необходимы. Удалить полностью функцию, и пусть рантайм сам разбирается.
    Ответить

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

Семь раз отмерь — один отрежь, guest!

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


    8