私は多くの方法を持っています
def foo(..., ..., runFinalizer: Boolean = true)
(implicit finalizer: Finalizer): Result = ...
しかし、(sbt を使用して) scaladoc を実行するとrunFinalizer
、デフォルト値を持つドキュメントが表示されません。false
ユーザーがパラメータを設定することはめったになく、生成されたドキュメントには省略できることが示されていないため、これは非常に問題です。
これまでのところ、2 つの解決策がありますが、どちらも完全に満足できるものではありません。
runFinalizer
ブロック内で省略できる事実を文書化し@param
ます。これは役に立ちますが、ドキュメントの多くの場所でそのような文が重複することになり、ユーザーが見落とす可能性があります。- メソッドの 2 つのバリアントを作成します。1 つはあり
runFinalizers
(デフォルト値なし)、もう 1 つはなしです。しかし、これはメソッドの数を不必要に 2 倍にし、コードとドキュメントの両方を混乱させます。