【发布时间】:2013-03-05 01:44:11
【问题描述】:
我有很多方法,比如
def foo(..., ..., runFinalizer: Boolean = true)
(implicit finalizer: Finalizer): Result = ...
但是当我运行 scaladoc(使用 sbt)时,它没有记录 runFinalizer 具有默认值。这是相当有问题的,因为用户很少将参数设置为false,并且生成的文档没有显示可以省略。
到目前为止,我有两种解决方案,没有一种完全令人满意:
- 记录
runFinalizer可以在其@param块内省略的事实。它有帮助,但会导致在文档中的许多地方重复这样的句子,并且用户可能会忽略它。 - 创建该方法的两个变体,一个带有
runFinalizers(没有默认值),一个没有。但这会不必要地使方法数量增加一倍,并使代码和文档变得混乱。
【问题讨论】:
-
不确定为什么默认值没有出现在 Scaladoc 中。这绝对是可能的——看看
http://doc.akka.io/api/akka/2.0.5/#akka.testkit.TestKit,receiveWhile方法。该方法的源代码没有什么特别之处。
标签: scala default-value scala-2.10 default-parameters scaladoc