yomoyo icon indicating copy to clipboard operation
yomoyo copied to clipboard

JS2 Расширить критерий Д14 про тернарный оператор

Open dtsaryov opened this issue 3 years ago • 5 comments

Текущая формулировка:

Там, где возможно, в присвоении значения вместо if используется тернарный оператор.

Предлагается расширить критерий до:

Там, где возможно, используется тернарный оператор Допустимо использовать оператор if, если применение тернарного оператора ухудшает читаемость

Да, вводится некоторая субъективность, но при этом покрываются случаи вроде:

const myAwesomeFunction = (args) => {
  if (someCondition) {
    return 42;
  } else {
    return 27;
  }
};

Если хочется избежать субъективности, то предлагаю прям так и написать:

Там, где возможно, в присвоении и возврате значения используется тернарный оператор.

И расширить примеры

dtsaryov avatar May 16 '21 09:05 dtsaryov

Привет! А какую именно проблему это решит?

levallevchenko avatar May 19 '21 11:05 levallevchenko

Привет! А какую именно проблему это решит?

Проблему того, что достаточно часто случаются подобные участки кода:

if (condition) {
  return 1;
} else {
  return 2;
}

И тогда можно будет просить сделать так:

return condition
  ? 1
  : 2;

Либо вообще однострочник, если условие и выражения в ветках простые

dtsaryov avatar May 24 '21 06:05 dtsaryov

То что ты предлагаешь, есть в критерии Д15. Посмотри, пожалуйста

levallevchenko avatar May 26 '21 11:05 levallevchenko

Нет, нету. Д15 вообще не про это

dtsaryov avatar May 31 '21 06:05 dtsaryov

Поняли, спасибо. Заберём в бэклог.

levallevchenko avatar Jun 02 '21 11:06 levallevchenko