、私が持つことができます。Scala - 型を定義してコンパクト化するか、または読みやすくするために明示的に記述しますか? Scalaで
trait Api {
def someApiCall: Either[Failure, GoodResult];
}
または
object SomeObject {
type SomeResult = Either[Failure, GoodResult]
}
trait Api {
def someApiCall: SomeObject.SomeResult;
}
を前者はより多くの結果の型についての明示的なので、読みやすいですが、どちらかを再入力含む場合[...]上さまざまな実装で上書きされます。これは後者では解決されますが、読者は一見して結果について多くのことを結論づけることはできません。
戻り値の型がEither
の代わりにOption
の場合、当然前のバージョンに固執します。多くの型パラメータを持つより複雑な型の場合、2番目の方がより有益です。 Either
はどこかの中盤です。
私の直感は、長期的には後者がより保守的であるということです。どう思いますか?これに関して練習はありますか?
感謝を!また、検証を指すため – ron