11 января 2009

Not Rails

Вот вам кусочек кода Rails разработчика, пример того, что бывает, когда в уме Ruby is Rails:

35     def admin
36       unless logged_in?
37         redirect_to home_path
38       else
39         true
40       end
41     end

Сразу видно, что язык как таковой он не знает. Иначе бы назвал функцию "admin?" Но это так, незнание идиом, мелочи. А вот то, что она будет всегда возвращать true (или поднимать exception) станет сюрпризом, если использовать эту функцию в проверках. А всё потому что возвращать она будет статус редиректа как результат unless.
Поэтому надо всё-таки учить Ruby, или иметь кого-то, знающего его, для code review.

Комментариев нет: