【问题标题】:Is it a bad style of using key: value instead of :key => value in a hash of Ruby 1.9 [closed]在 Ruby 1.9 的哈希中使用 key: value 而不是 :key => value 是不是一种不好的风格[关闭]
【发布时间】:2012-05-17 07:32:01
【问题描述】:

我加入的团队不鼓励使用key: value,即使是新项目,尽管它需要更少的击键并且更类似于 JavaScript(我不喜欢 PHP 的东西)。

它在 Ruby 社区中被认为是一种糟糕的风格吗?不要认为这是主观问题。我只是问一些常见的趋势。

【问题讨论】:

  • This article 给出了一些反对新语法的论据。不过,很多人似乎都喜欢它。一般来说,我不会说它被认为是糟糕的风格。
  • 风格是否不好是主观的。 Ruby 社区作为一个整体是否认为它是不好的风格是不是主观的。

标签: ruby ruby-1.9


【解决方案1】:

Ruby Style Guide 表示“当哈希的键是符号时,请使用 Ruby 1.9 哈希文字语法。”。

我使用 1.8 风格语法的主要原因是我目前使用的一些分析工具要么在 Ruby 1.9 上不起作用(哎呀……至少现在还没有),要么在 1.9 上不起作用(红宝石教授)。

【讨论】:

    【解决方案2】:

    只要项目在一种风格或另一种风格上始终保持一致,就没有问题。

    如果您计划支持 Ruby :key => value。

    【讨论】:

    • 这就是我们所说的。我的同事认为不可能做到“一致”,因为我们经常需要在 Rails 项目中到处使用非符号作为键。
    • @powerboy:如果你使用 MongoDB,你将不得不使用 =>,因为像 :$set 这样的符号不能以“新”样式表示。
    • 这就是我在回答中想要表达的意思。
    【解决方案3】:

    我认为两者可以一起使用,我认为没有任何问题。这只是口味问题。

    我倾向于使用新形式,因为它打字速度更快,而且对我来说它看起来更干净,但在某些情况下旧形式会更好,比如当你需要一个字符串键时:

    :"my_key" => "my value"
    

    【讨论】:

      猜你喜欢
      • 2016-01-11
      • 1970-01-01
      • 2017-09-27
      • 1970-01-01
      • 2011-05-16
      • 1970-01-01
      • 1970-01-01
      • 2016-05-23
      • 1970-01-01
      相关资源
      最近更新 更多