【问题标题】:When invoking methods in Rails apps, what is the convention use parenthesis or not?在 Rails 应用程序中调用方法时,使用括号的约定是什么?
【发布时间】:2012-02-03 01:02:33
【问题描述】:
绝大多数 Rails 商店都是做什么的?由于 Ruby 允许两者之一,我确信有一个固定的标准,我可能应该专注于养成一个习惯,因为我刚刚开始使用 Rails。
根据 Rails 的实用敏捷 Web 开发(第 4 版):
在 Rails 应用程序中,您会发现大多数方法调用涉及
较大的表达式会有括号,而那些看起来更
like 命令或声明往往没有它们。
那是什么?还是那里的狂野西部?
【问题讨论】:
标签:
ruby-on-rails
ruby
coding-style
methods
【解决方案1】:
Rails contributing style guide 似乎偏爱
my_method(my_param)
超过
my_method my_param
但我看到的大多数代码似乎都与这种趋势相反。我肯定会说你不应该在没有参数的方法调用中使用开括号。我注意到的一个指导原则是强调代码的人类可读性。这使我得出以下结论:
如果是,请不要使用括号
你的方法调用没有参数
my_object.my_method
你的方法调用是唯一的东西
my_object.my_method my_params
form.submit "Create"
如果是,请使用括号
您的方法调用与许多方法调用在同一行
my_object.parse(my_arguments).join(", ").chomp
但是,对于不同的情况,有不同的约定,您可能只能通过查看大量代码才能看到。例如,在类定义中执行的方法大多不使用括号,并且每个参数位于不同的缩进行:
validates :first_name,
:presence => true,
:format => { :with => /\S./ }