Си диез / Говнокод #11692 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
try
{
        concreteSubService.Price = strategy.GetPrice(concreteSubService);
}
catch (Exception ex)
{
       throw ex;
        strategy.Dispose();
}

очень заботливый код, нежно очищающий память

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

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

    • Это во-первых. Во-вторых, конструкция try-catch, использующаяся ради недосягаемости 🙂
      Ответить
        • Он не помалкивает. По варнингу я и нашел это излияние моего коллеги.
          Ответить
                  • /force
                    (но это для линкера от MS, создавать образ даже при отсутствующих или конфликтующих символах)
                    Ответить
                    • А зачем это нужно если не секрет? Программа же все равно получится некорректной, и, скорее всего, будет крашиться на вызове неразрешившихся символов...
                      Ответить
                      • Сложно сказать... Дуплицирование понятно, вдруг у меня в двух библиотеках определена функция типа CopyMemory - тогда какая разница, какая прилинкуется. А отсутствующие... Ну, скажем, libjpeg у меня не собирается, а разбираться или выдирать ее из программы некогда - вечером релиз. Вот и напишем "All image files (*.bmp; *.png)", авось не заметят.
                        Ответить
                        • > тогда какая разница, какая прилинкуется
                          Хуяссе у вас подход к разработке...
                          Ответить
                          • Короче, чтобы можно было использовать криво сделанные библиотеки, которые нет возможности перекомпилировать. По крайней мере, что могу придумать.
                            Ответить
    • То есть, не смотря на то, что конструкция является причиной недосягаемости, она была создана для того, чтобы отработать недосягаемый код. В этом соль.
      Ответить
  • Отступы разные у структуры обработки ошибки и у полезного кода.
    Могу предположить, что структуру и код писали в разное время. Или что try-catch-throw были вставлены через снипет.
    Ответить
      • просто когда я вставил код, он отформатирован был не так, как хотелось бы. Поправил. Оказалось на один пробел ошибся.
        Ответить
        • >на один пробел ошибся
          Да, но где здесь питон, юзернэйм?!
          Ответить
          • при написании данного коммента, я прямо сейчас вижу "Где здесь C++, GeaR?!" =)
            Ответить

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

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

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


    8