vavrからEitherだけ抜き取りたい
サーバサイドkotlinを始めました
今まではjava8 + lombok + vavrだったのをkotlinに変更
サンプル作ってみたけど、変なハマりポイントもなく快適に開発できた
個人的にはjava界の黒魔術ことlombokを撲滅できたことに満足していますw
ただし、vavrについては課題があります
ほんとにvavrは不要なのか
とりあえずvavrとkotlinを比較する
vavr | kotlin |
---|---|
Option | java8.Optional *1 |
Either | ない |
Validation | ない |
List | kotlin.List |
Map | kotlin.Map |
Match *2 | kotlin.case文 |
Try | kotlin.try-catch文 |
Tuple | kotlin.Pair, kotlin.Triple *3 |
*1 nullable系の書き方は不採用。プログラムをjavaから使うことも考慮するため
*2 チームでは使ってない。謎の$マークが辛いから
*3 チームではTuple4以上の利用を禁止している。可読性が低下するから
Either系が足りない
比較の通りほとんど代替が効く
ただしEitherとValidationだけがNG
Eitherがないのは辛い...
javaで書いてるときもEitherを一番使ってたし
Eitherだけ抜き出そう
必要なEitherだけ抜き出したプロジェクトを作ろうと思う
とりあえずgithubにリポジトリだけ作った
GitHub - naosim/either: only either from vavr
最終的にgradleで読み込めるようにします
今日はここまで