Здравствуйте, _ichensky, Вы писали:
_>2. Если выбирать между вариантами 1 и 2 и вы используете тернарный оператор, какой?
Все неправильные
var x = a == 0 ? a : a + 100500:
return func(x);
Разделять ответственности надо.
Если func в обоих ветках используется одинаковый чисто по совпадению, то if однозначно. Разные ответственности — разные выражения.
_>3. Если выбирать между вариантами 3 и 4, какой?
if ... return в шарпе используется в основном для обработки частных случаев, чтобы упростить основное тело метода. Если код большой, то лучше if-else использовать. И код легче читается, и рефакторится проще.
Опять-таки см. выше про разделение ответственностей, позволяет избавиться от большинства "можно и так и так".