Здравствуйте, igna, Вы писали:
I>Еще одно применение if (false):
I>
I> if (false)
I> ;
I>#ifdef MACRO
I> else if (cond1)
I> expr1;
I> else if (cond2)
I> expr2;
I>#endif
I> else if (cond3)
I> expr3;
I> else
I> expr4;
I>
I>Без if (false) можно:
I>
I>#ifdef MACRO
I> if (cond1)
I> expr1;
I> else
I> if (cond2)
I> expr2;
I> else
I>#endif
I> if (cond3)
I> expr3;
I> else
I> expr4;
I>
тут не форматировщик VC 9.0 виноват.
каждый раз, когда я вижу на ревью подобный код с лестницей if'ов, да еще и вперемежку с макросами я просто заворачиваю ревью кода.
мой комментарий простой — это место нужно переделать, так как плотное нагромаждение условной логики влечет затем десятки коммитов с фиксами в этом месте, новыми if'ами, функция разрастается, юнит тестированию не поддается...
думаю, понятно
Здравствуйте, igna, Вы писали:
I>Верно, но я пользуюсь форматировщиком VC 9.0, который превращает это в следующее:
я не знаю что такое форматировщик(хотя смутно подозреваю, что вы о редакторе), и vc 9.0 я даже в глаза не видел, мы тут как бы с++ обсуждаем или может давайте о ноутпаде с вордом поговорим?
Здравствуйте, Sni4ok, Вы писали:
S>я не знаю что такое форматировщик(хотя смутно подозреваю, что вы о редакторе), и vc 9.0 я даже в глаза не видел, мы тут как бы с++ обсуждаем или может давайте о ноутпаде с вордом поговорим?
O>мой комментарий простой — это место нужно переделать, так как плотное нагромаждение условной логики влечет затем десятки коммитов с фиксами в этом месте, новыми if'ами, функция разрастается, юнит тестированию не поддается... O>думаю, понятно
А можно подробнее?
Про макросы понятно.
Чем заменяете if'ы?
Здравствуйте, ole!, Вы писали:
O>каждый раз, когда я вижу на ревью подобный код с лестницей if'ов, да еще и вперемежку с макросами я просто заворачиваю ревью кода. O>мой комментарий простой — это место нужно переделать, так как плотное нагромаждение условной логики влечет затем десятки коммитов с фиксами в этом месте, новыми if'ами, функция разрастается, юнит тестированию не поддается...
Карты условий (WTL — MSG_MAP, ATL/COM — INTERFACE_MAP) принимаешь или заворачиваешь?
Здравствуйте, igna, Вы писали:
I>Еще одно применение if (false):
Страшно...
Никак нельзя этот каскад if-ов заменить, это же достанется поддерживать такое голову себе поломаешь вглядываесь в это нагромождение.
Ну в это еще может и нормально, но если там еще условий 6 в реальном коде, то меня бы совесть мучила.