Ruby函数调用括号的主要风格是什么?

假设我有func_afunc_b都接受一个参数,我想将func_b的结果func_bfunc_a

括号内最常见的方法是什么?

  1. func_a func_b input
  2. func_a func_b(input)
  3. func_a(func_b input)
  4. func_a(func_b(input))

您必须扫描源以找到“最常见”。

我尝试写出在这种情况下有意义的东西,但几乎总是使用:

 func_a func_b(arg) func_a(func_b(arg)) 

如果这些函数被命名为“听起来像”一个句子或短语的东西,那么我会尽可能多地丢掉这些函数。

 func_a func_b arg 

换句话说,如果它听起来像是我大声说出来的东西,我会像我说的那样写它 – 一个句子或短语。

如果它听起来不像我在现实生活中所说的那样,需要parens来提高清晰度等等,那么我会把它写成我正在编写的代码,因为它听起来/看起来像代码。

我不能给你最常见的方式 ,但我的个人意见。

我会拒绝第一版func_a func_b input 。 它太混乱了,你不会看到输入是func_b的参数,还是它是func_a的第二个参数。

我更喜欢第四版,它显示明确,什么是什么参数(你看,什么是方法名称,什么是变量)。 但我会在括号前后添加空格:

 func_a( func_b( input )) 

要么

 func_a( func_b(input) )