Рубин: если не против, если нет - PullRequest
48 голосов
/ 22 сентября 2011

Я предпочитаю if not, а не unless.Есть ли правильный способ написать такое условие?Как люди обычно относятся к unless?

Ответы [ 3 ]

38 голосов
/ 22 сентября 2011

Надеюсь, это поможет вам:
https://github.com/bbatsov/ruby-style-guide

Я лично согласен с тем, что там написано, выбрав unless something вместо if !something для модификаторов и простых, а когда else предпочитают if.

27 голосов
/ 22 сентября 2011

Я использую unless каждый раз, кроме случаев, когда есть предложение else.

Итак, я буду использовать

unless blah_blah
  ...
end

но если есть еще условие, я буду использовать if not (или if !)

if !blah_blah
 ...
else
 ...
end

После использования if ! годами, годами и годами мне действительно понадобилось некоторое время, чтобы привыкнуть к unless. В настоящее время я предпочитаю это во всех случаях, когда чтение вслух звучит естественно.

Я также фанат использования трейлинга unless

increment_by_one unless max_value_reached Я использую эти имена методов / переменных, очевидно, как пример читабельности - по моему мнению, структура кода должна в основном следовать этому шаблону.

В более широком смысле структура должна быть: take_action unless exception_applies

10 голосов
/ 22 сентября 2011

if not condition используется редко. Программисты Ruby (обычно из других языков) предпочитают использовать if !condition.

С другой стороны, за исключением случаев, когда они широко используются, если имеется единственное условие и если оно звучит читабельно.

Также см. , имеющий смысл с Ruby, если , для дальнейших советов о том, если только стиль кодирования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...