【问题标题】:What is the dominant style for parenthesization of Ruby function calls?Ruby 函数调用括号的主要风格是什么?
【发布时间】:2011-11-19 10:01:18
【问题描述】:

假设我有func_afunc_b,它们都接受一个参数,我想将func_b 的结果传递给func_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))

【问题讨论】:

    标签: ruby coding-style parentheses


    【解决方案1】:

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

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

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

    func_a( func_b( input ))
    

    func_a( func_b(input) )
    

    【讨论】:

    • Ew;在打开括号后/关闭括号之前,我从来没有理解过空格。
    • 我同意func_a func_b input 令人困惑,但从技术上讲,它实际上并不模棱两可。由于 Ruby 没有柯里化,input 绝对不是func_a 的第二个参数(应该是func_a func_b, input)。然而,对线条的全部理解取决于是否存在一个小字符(逗号),这似乎是一种不好的做法。
    • @Dave 不要尝试学习 ABAP,那里的空格是必要的。就我而言:使用 ABAP 几年后,我习惯了这样做,当我阅读代码时,我的大脑可以更轻松地解析带有空格的代码。我认为,这对我来说是一个公认的习惯。
    【解决方案2】:

    您必须扫描来源才能找到“最常见的”。

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

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

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

    func_a func_b arg
    

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

    如果它听起来不像我在现实生活中所说的话,需要括号来提高清晰度等。然后我会像在写代码一样写它,因为它听起来/看起来像代码。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-06-16
      • 2016-07-21
      • 2022-04-18
      • 2017-11-07
      • 2015-09-26
      • 2010-10-29
      • 1970-01-01
      相关资源
      最近更新 更多