你在Ruby中留下括号吗?

82 ruby coding-style choice

如果可能的话......你在Ruby中留下括号吗?

Jas*_*ete 91

来自Ruby Style元素

Ruby允许你省略括号,一般来说,抵制这种诱惑.

括号使代码更容易遵循.一般Ruby风格是使用它们,除了以下情况:

  • 总是留下空括号
  • 括号可以省略一个由ERb分隔符包围的命令 - ERb标记确保代码仍然可读
  • 可以在没有括号的情况下编写作为单个命令和单个简单参数的行.就个人而言,我发现我做的越来越少,但它仍然完全可读.我倾向于不喜欢常规ruby代码中有多个参数且没有括号的单行.
  • 许多基于Ruby的领域特定语言(例如Rake)不使用括号来保持语句更自然的语言感觉.


Joh*_*ohn 26

我使用parens作为评论来帮助未来的我...谁的脑细胞可能比现在的人少:-)

没有什么比看你2年前编写的代码并误解它更糟糕的了,所以你在修改它时会破坏某些东西.

如果parens将来会在未来几分钟(或几小时)内保存未来,我将尽可能多地填写声明.

  • +1“我使用parens作为评论来帮助未来的我......他的脑细胞可能比现在的我少:-)”这是真的,这正是我这样做的原因。对于那些必须使用我的代码的跟随我的人来说,这也是仁慈的。简而言之,这是一个维护问题。 (2认同)

Mat*_*rke 9

当我做DSL-ish的东西时,我把它们留下来,比如t.column或has_many in rails.其余的时间,它通常归结为清晰度,它可能是一个均匀的分裂.


Eli*_*Eli 8

我想我两个都做了,但是如果它增加了可读性并且避免看起来含糊不清的陈述,我肯定会保留它们.


mat*_*mat 7

如果你的意思是函数调用,我总是把括号括起来,因为它总是更容易阅读.如果你的意思是条件(如果,同时)我只在必要时加上括号.

  • 我同意。例如,在 php 中,我可以通过 $ 前缀快速找到一个 var.. 在 javascript 中,我可以通过括号()重新识别一个函数。在 Ruby 中,var 或 func(不带括号)之间的区别并不总是很容易看出。 (2认同)

mip*_*adi 7

如果可能的话,我试着把它们留下来.我认为它使代码更容易阅读(一般来说).