Я предпочитаю if not
вместо unless
. Есть ли способ написать такое условие? Как люди вообще относятся к unless
?
Ruby: если vs if not
Ответ 1
Надеюсь, это поможет вам:
https://github.com/bbatsov/ruby-style-guide
Я лично согласен с тем, что там написано, выбрав unless something
over if !something
для модификаторов и простых, а когда else
предпочитает if
.
Ответ 2
Я использую unless
каждый раз, за исключением случаев, когда существует предложение else
.
Итак, я буду использовать
unless blah_blah
...
end
но если есть условие else, я буду использовать if not
(или if !
)
if !blah_blah
...
else
...
end
После использования if !
годами и годами мне понадобилось некоторое время, чтобы привыкнуть к unless
. В настоящее время я предпочитаю его в каждом случае, когда чтение его громко звучит естественно.
Я также поклонник использования unless
increment_by_one unless max_value_reached
Я использую эти имена методов/переменных, очевидно, как пример читаемости - структура кода должна в основном следовать этому шаблону, на мой взгляд.
В более широком смысле структура должна быть: take_action unless exception_applies
Ответ 3
if not condition
редко используется. Программисты Ruby (обычно поступающие с других языков) предпочитают использовать if !condition
.
С другой стороны, если это широко не используется в случае, если есть одно условие, и если оно звучит читаемо.
Также см. смысл с Ruby, если только для дальнейших предложений, кроме стиля кодирования.