Здравствуйте,
Используете ли вы тернарный оператор?
1. Какой вариант бы вы выбрали при написании кода 1.2.3 или 4?
2. Если выбирать между вариантами 1 и 2 и вы используете тернарный оператор, какой?
3. Если выбирать между вариантами 3 и 4, какой?
1.
return a == 0
? func(a);
: func(a + 100500);
2.
return func(a == 0 ? a : a + 100500);
3.
if(a == 0)
{
return func(a);
}
return func(a + 100500);
4.
int b;
if(a == 0)
{
b = func(a);
}
else
{
b = func(a + 100500);
}
return b;
Если бы я писал код то выбрал второй варинт если бы 'a == 0' и 'a + 100500'
были достаточно короткими в строке, иначе — первый.
Если бы предполагал что в будущем может появиться еще какое-то условие, напр.
if(a == 2) {return (-1);} то выбрал бы третий вариант.
Четрвертый вариант мне не нравиться потому что протягивает переменную(или объект)
через все тело функции и создает код из кучи вложенных if-else, если можно вернуть
переменную сразу, как в варианте 3, то предпочту вариант 3.