Scala では、次のことができます。
trait Api {
def someApiCall: Either[Failure, GoodResult];
}
また
object SomeObject {
type SomeResult = Either[Failure, GoodResult]
}
trait Api {
def someApiCall: SomeObject.SomeResult;
}
前者は結果の型についてより明示的であるため、読みやすくなっていますが、異なる実装では、Either[...] を何度も再入力する必要があります。これは後者で解決されますが、読者は一見しただけでは結果について多くの結論を下すことができません。
戻り値の型がOptionの代わりである場合、Either当然、以前のバージョンに固執します。多くの型パラメーターを持つより複雑な型の場合、2 番目の方がより有益です。Eitherミッドフィールドのどこかにいます。
私の直感では、長期的には後者の方が維持しやすいということです。どう思いますか?これに関する慣行はありますか?