Aby napisać bardziej zwięźle, zamiast to zrobić:Czy przydział w klauzuli warunkowej ma dobry styl rubinowy?
test_value = method_call_that_might_return_nil()
if test_value
do_something_with test_value
end
Byłem przypisywania w warunkowej:
if test_value = method_call_that_might_return_nil()
do_something_with test_value
end
Czy to zły styl? Wciąż jeszcze bardziej zwięzły Składnia
do_something_with test_value if test_value = method_call_that_might_return_nil()
jest zabronione, jak omówiono in another SO question i pozostaje w ten sposób w 1,9 według Matz (http://redmine.ruby-lang.org/issues/show/1141).
Biorąc pod uwagę możliwe pomyłki przydziału i porównania, czy to utrudnia czytanie kodu?
Sądzę, że trzeba zwrócić uwagę na zwięzłość i zrozumiałość. Myślę, że w dzisiejszych czasach, gdy musimy znać kilka różnych języków, dobrym pomysłem jest używanie nowych, fajnych funkcji niektórych języków bez niszczenia istniejącej wiedzy o programistach. Jako ekspert programistyczny, dlaczego miałbym mieć potrzebę takiego dopasowania syntaktycznego języka z języka na język? Wolałbym spędzać czas na szukaniu problemu. Na przykład, jak wielowątkowe w ruby. –
Rubocop i ten przewodnik w stylu rubinowym zaleca unikanie go: https://github.com/bbatsov/ruby-style-guide – Rimian
Link do konkretnej części przewodnika po stylu: https://github.com/bbatsov/ruby-style -guide # safe-assignment-in-condition –