Показать сообщение отдельно
Старый 22.10.2009, 18:16   #18  
cerbo is offline
cerbo
Участник
 
25 / 11 (1) +
Регистрация: 02.10.2008
Я так вижу, что либо вы не читали либо не поняли моих объяснений.

Попробую более подробно разъяснить.
Смысл, то в том, что когда от выражения требуется вернуть значение, то:
  1. понятно его назначение- что должно быть результатом отражено явно
  2. исходя из понимания что вернется можно предположить как там что реализованно не заглядывая внутрь
  3. некоторые программисты следят за тем чтобы такие выражения просто вычисляли значение, но не меняли бы состояние объектов
Все это в сумме дает более понимаемый код ("читается"- это я не совсем точно написал).

То есть:
X++:
switch(value)
{
   case cond1 : action1
   case cond2 : action2
   default    : default_action
}
здесь надо разобраться как работает каждый action, плохо то, что такой стиль требует модификацию объектов внутри action'ов.

X++:
result=   cond1 ? result1
        : cond2 ? result2
        : default_result;
здесь будет хоть чуть-чуть но проще потому, что одним измерением стало меньше- известен тип результата который вернется

То же и с функциями. Если функция void, то есть основания для беспокойства- внутри нее 100% изменяется состояние объектов, а иначе она не была бы void. Если не void то немного проще потому, что наперед известно чем все закончится.
__________________
Dynamics AX 4.0.2501.122 SP2, kernel 4.0.2163.0, MS SQL 2005