Уместно ли использовать круглые скобки в приложении Rails? - PullRequest
0 голосов
/ 04 марта 2011

Я очень плохо знаком с рельсами, но мне очень нравится, как легко включить TDD, a / b тестирование, MVC и т. Д., Поэтому я решил использовать рельсы для моего следующего проекта.Что мне не нравится в rails, так это стиль, который люди используют для вызовов функций.Следующая строка - это то, что я ожидал увидеть в типичном пользовательском контроллере rails:

validates :name, :presence => true

Мне действительно не нравится этот стиль, потому что новичку, как я, трудно понять, что validates - этофункция, которая принимает два аргумента, второй из которых является хешем.Для меня этот синтаксис гораздо более понятен:

validates(:name, {:presence => true})

Теперь я хочу, чтобы этот проект развивался, поэтому я буду работать с другими разработчиками Rails, которые более опытны, чем я.Итак, вопрос в том, что если я напишу это приложение в своем стиле, будет ли это очень неприятно для людей, которые привыкли к традиционным путям рельсов, или я могу пойти дальше и использовать скобки и фигурные скобки, чтобы сделать структуру более явной?

Ответы [ 3 ]

3 голосов
/ 04 марта 2011

Нет настоящего руководства по каноническому стилю для Ruby, так что вы можете пойти дальше и сделать это.И да, будут разработчики, которые будут разочарованы подобным кодом (особенно ветеранами ruby).

Многие из кода Rails специально пытаются выглядеть как естественный язык, и люди будут утверждать, что «программирование» это своего родапобеждает эту цель.

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

3 голосов
/ 04 марта 2011

Они, вероятно, попытаются проголосовать за вас с острова ...

Попробуйте адаптироваться к соглашениям Ruby. Смотрите ценную тему здесь:

http://railsforum.com/viewtopic.php?id=1042

«Если бы я мог дать вам только один совет, это было бы так: следуйте соглашениям Rails»

Ознакомьтесь с неофициальными соглашениями (написано для отдела Google)

http://www.caliban.org/ruby/rubyguide.shtml

1 голос
/ 04 марта 2011

Ruby не требует скобок, если их отсутствие сделает код неоднозначным. Для заимствования у Рубиновых Коанов

  # (NOTE: We are Using eval below because the example code is
  # considered to be syntactically invalid).
  def test_sometimes_missing_parentheses_are_ambiguous
    eval "assert_equal 5, my_global_method 2, 3" # ENABLE CHECK
    #
    # Ruby doesn't know if you mean:
    #
    #   assert_equal(5, my_global_method(2), 3)
    # or
    #   assert_equal(5, my_global_method(2, 3))
    #
    # Rewrite the eval string to continue.
    #
  end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...