在Ruby中放置private methods的位置?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (13)

例如:

public
def my_method
  # do something
  minion_method
end

private
def minion_method
  # do something
end

public
def next_method
end

这样,我发现代码的可读性更强,而不是不断地上下滚动,这是非常恼人的。

这种方法有什么错误吗?

提问于
用户回答回答于

只要添加以下内容,就可以使任何方法都成为私有的:private :xmethod

例子:

class Example
 def xmethod
 end

 def ymethod
 end

 def zmethod 
 end

 private :xmethod, :zmethod

end

用户回答回答于

正如其他人已经指出的那样,惯例是将private methods置于底层,置于一个私有类之下。但是,可能你还应该知道,许多编程人员为此使用了双缩进(4个空格而不是2个)方法。原因是,很多时候你不会在文本编辑器中看到“私有”,并认为它们可能是公开的。图示见下文:

class FooBar

  def some_public_method
  end

  def another_public_method
  end

private

    def some_private_method
    end

    def another_private method
    end

end

扫码关注云+社区