169 похожих чатов

Привет! У меня есть такой код if (selectedOptions.length === 2 || selectedOptions.length

=== 0) {
return 2
} else if (selectedOptions.includes('Контент')) {
return 0
} else {
return 1
}


Мне предложили в команде при пулл-реквесте переписать это так
return selectedOptions.length === 2 || selectedOptions.length === 0 ? 2 : selectedOptions.includes('Контент') ? 0 : 1

Cкажите, пожалуйста, как лучше в итоге?
На мой взгляд, во втором варианте читаемость ухудшается.

18 ответов

34 просмотра

В пулреквесте предложили говно

nnn.-Hunter Автор вопроса
Евгений 🎃
В пулреквесте предложили говно

Как тактично об этом сказать?)

твой лучше, но ещё лучше, используя return в условии, избегать использования else

nnn.-Hunter Автор вопроса
nnn. Hunter
Не понимаю немного, что ты имеешь в виду

if (a) return b; if (c) return d; if (e) return f; return g;

nnn.-Hunter Автор вопроса
nnn. Hunter
Как тактично об этом сказать?)

спроси у него, Как писать, если там будет 50 условий 🗿

nnn. Hunter
Как тактично об этом сказать?)

а зачем вообще оправдываться, они же предлагают, а не приказывают

скажи тому кто код ревью делает, что-бы пошел почитал "чистый код" или подобные книжки)

nnn.-Hunter Автор вопроса
nnn.-Hunter Автор вопроса
Bohdan Bida 🇺🇦
скажи тому кто код ревью делает, что-бы пошел почи...

Спасибо) Вложенные тернарники - всегда так себе затея, да?

nnn. Hunter
Спасибо) Вложенные тернарники - всегда так себе з...

Дело не сколько в них, сколько в том что это читается ужасно плохо и неочевидно Сколько требуется усилий при беглом взгляде на код в твоем коде и в том коде что предложили Как по мне в твоем коде сам уже понял излишне else, но ты хотя-бы бегло смотришь и понимаешь сразу же что там А с тернарниками поди еще эти ребусы разгляди и глаза поломай)) В любом коде только одно важно - что-бы он был предсказуем и хорошо читался, ну и что-бы он был логичен, но то уже вопросы логики а не правильности(чистоты) кода Исходя из этого можно уже решать что плохо а что нет, что так себе затея а то хорошая

nnn.-Hunter Автор вопроса
Bohdan Bida 🇺🇦
Дело не сколько в них, сколько в том что это читае...

Благодарю за такой полный ответ :) else в подобных ситуациях всегда лучше упускать?

nnn. Hunter
Благодарю за такой полный ответ :) else в подобн...

Ну в нем просто смысла нет У тебя же ретерн сработает и код ниже даже не пойдет, интерпретатор даже не узнает что там какой-то else есть Просто лишний груз в коде

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Ребят в СИ можно реализовать ООП?
Николай
33
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Карта сайта