ruby - 为变量赋值的 Ruby `if` block 的推荐缩进样式?

标签 ruby coding-style

<分区>

以下哪一个是更好的 Ruby 代码格式样式,为什么?

选项 A:

def load_business
  @business ||= if params[:badge_uuid] 
    # some code
  else
    # some other code
  end
end

选项 B:

def load_business
  @business ||= if params[:badge_uuid] 
                  # some code
                else
                  # some other code
                end
end

最佳答案

这是一个主观问题,所以我们只能给出(希望有理由的)意见。我总是使用选项 A。我的理由:

  1. 代码块以相同的缩进级别打开和关闭,从而创建“视觉凝聚力”。

  2. 如果变量名改变了它的大小,您不需要编辑任何东西(不过有些文本编辑器会自动处理)。

  3. 您在源代码中创建了一个“漏洞”。变量名越大,洞越大。 IMO 这在视觉上很烦人。此外,在达到合理的 80/100 字符限制之前,您的可用空间较少。

我在编写多行散列/数组/...时使用这种样式(请注意最后一个元素中的逗号,以便我们可以轻松地以差异友好的方式重新排序它们):

hash = {
  :a => 1,
  :b => 2,
}

array = [
  :a, 
  :b,
]

关于ruby - 为变量赋值的 Ruby `if` block 的推荐缩进样式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8745299/

相关文章:

ruby - Gemfile 中可以有多个版本的 gem 吗?

ruby-on-rails - 为什么我会收到 "ActionController::UrlGenerationError: No route matches..."错误?

单变量初始化的 C++ 风格

c# - Resharper 正确吗?

java - 在android中创建应用程序 session

ruby-on-rails - FactoryGirl - 如何创建记录层次结构?

ruby - 错误 PhusionPassenger::Rack::ApplicationSpawner::Error

ruby - 为什么 Buildr 失败了?

java - 我什么时候应该在 Java 类源代码中的方法之后声明字段?

将常规 C 风格编码文件转换为 GNU 风格编码标准