![]() |
#2 |
Участник
|
это замечательный призыв.
надо учитывать только две вещи: 1. корректная работа при обработке исключений 2. корректная работа внутри транзакционных скобок ttsbegin-ttscommit/ttsabort Поэтому без-else-овую оптимизацию, по-моему, рационально делать только в простейших случаях, когда в каждой ветке делается return. ![]() Кроме того, в таких простейших случаях без-else-овый код должен выглядеть так X++: int foo(int bar) { if ( /*expr1*/ ) throw /*some exception*/; if ( /*expr2*/ ) return 1; if ( /*expr3*/ ) return 2; if ( /*expr4*/ ) return 3; doSomething or throw /*some exception*/; } ![]() См. также книгу Мартина Фаулера про Рефакторинг существующего кода http://www.ozon.ru/context/detail/id...?partner=mazzy или скачать эту книгу бесплатно, если предпочитаете читать в электронном виде http://www.proklondike.com/contentview.php?content=258 |
|