Onl*_*ere 0 ruby methods coding-style ruby-on-rails
绝大多数Rails商店做什么?由于Ruby允许我确定有一套标准我应该注意养成习惯,因为我刚开始使用Rails.
根据Pragmatic Agile Web Development with Rails(第4版):
在Rails应用程序中,您会发现大型表达式中涉及的大多数方法调用都有括号,而那些看起来更像命令或声明的方法调用往往没有它们.
那是哪个呢?或者它是狂野的西部吗?
在Rails的贡献风格指南似乎青睐
my_method(my_param)
Run Code Online (Sandbox Code Playgroud)
过度
my_method my_param
Run Code Online (Sandbox Code Playgroud)
但是我见过的大多数代码似乎都没有这种趋势.我肯定会说你不应该使用开括号来进行没有参数的方法调用.我注意到的一个指导原则是强调代码人类的可读性.这导致我得出以下结论:
如果您的方法调用没有参数,请不要使用括号
my_object.my_method
Run Code Online (Sandbox Code Playgroud)
您的方法调用是唯一的事情
my_object.my_method my_params
form.submit "Create"
Run Code Online (Sandbox Code Playgroud)
如果您的方法调用与许多方法调用位于同一行,请使用括号
my_object.parse(my_arguments).join(", ").chomp
Run Code Online (Sandbox Code Playgroud)
但是,对于不同情况有不同的约定,您可能只能通过查看大量代码才能看到这些约定.例如,在类定义中执行的方法通常不使用括号,并且每个参数都在不同的缩进行中:
validates :first_name,
:presence => true,
:format => { :with => /\S./ }
Run Code Online (Sandbox Code Playgroud)