【问题标题】:How to refer to instance methods in documentation?如何在文档中引用实例方法?
【发布时间】:2011-10-21 19:53:25
【问题描述】:

在编写文档时如何引用实例字段?

考虑这段代码:

object Foo {
  val foo = 42
}

class Foo {
  val foo = 42
}

在 Java 中,可以将Foo.foo 用于“静态”方法,将Foo#foo 用于实例方法。

但在 Scala 中,# 已经被用于依赖路径的类型,并且

class Foo {
  class foo
  def foo = 42
}

是合法的代码,所以我不能明确地引用它。

有什么约定吗?

【问题讨论】:

    标签: class scala object methods documentation


    【解决方案1】:

    艰难。也许像英语一样,如Foo's foo?我错过了# 的模棱两可。不过,这仍然是我的首选,因为歧义只存在于没有上下文的情况下。当提到一种类型时,# 有一个含义。当引用一个值或方法时,# 有另一个。

    由于类型和方法/值不共享命名空间,因此我认为这里的歧义没有相关性。

    【讨论】:

    • 我也使用#来达到这个目的。
    • 主要问题是链接到 ScalaDoc 的相应 URL 应该是什么样子?没有办法将“上下文”嵌入到 URL 中……除了选择一个明确的符号。如果我们已经必须发明一个符号,我们也可以在文档中使用它。
    • @soc 好吧,但是 Foo.foo 在 ScalaDoc 中指的是什么?到object Foo 中的type foo,还是object Foo 中的def foo?这个问题已经存在。鉴于只有当人们如此粗鲁地使用相同的标识符命名类型和非类型成员时才会发生这种情况,我说我们忽略它——或者同时解决这两个问题。另外... iirc,URL 中的# 有特殊含义,所以我们不能真的在URL 上使用它,对吗?
    • 当然,那么什么是好的解决方案?看起来我们已经用完了可以使用的符号...
    猜你喜欢
    • 1970-01-01
    • 2012-01-06
    • 2020-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多