私はなぜ今からKotlinを学ぶのか
それなりにJavaのことはわかってきた気がするので、よりよいコードを書けるようになるべくKotlinを学びはじめました
Kotlinに着目したきっかけは特に思い出せません。
better Javaと言われているからJavaより書きやすいんだろうな、くらいの印象からスタートだった気がします。
学び始めると魅力がどんどんわかってきて、学びがあるたびにリアルタイムにツイートしてました。
そうだ、kotlin始めよう
— you_see (@yushi_koga) July 5, 2019
kotlinってifとかwhen(switch)の計算結果をそのまま変数に代入できるのか
— you_see (@yushi_koga) July 7, 2019
素直にかけるから、より可読性高められるなー
listとmapがミュータブルかイミュータブルかを意識させる設計もかなり良い
— you_see (@yushi_koga) July 7, 2019
kotlinのnull安全という考え方は素晴らしいけど、適切なデフォルト値を与える流儀に慣れるのに時間がかかりそうだなー
— you_see (@yushi_koga) July 7, 2019
null objectとの比較をしながら要研究だ
スマートキャスト、たしかにスマートだ
— you_see (@yushi_koga) July 7, 2019
— you_see (@yushi_koga) July 7, 2019
Kotlinは型エイリアスあるのか
— you_see (@yushi_koga) July 8, 2019
kotlin x springでのコンストラクタインジェクションを調べるマン
— you_see (@yushi_koga) July 9, 2019
— you_see (@yushi_koga) July 9, 2019
kotlin value object
— you_see (@yushi_koga) July 10, 2019
でググると、俺が知ってるvalue objectじゃないものばっかりがHITする
値の精度とか範囲とかのバリデーションはどこいったんだろう
はてさて…🤔
いや、initializer blockってやつがそれだな!!https://t.co/HvAc4aM3KC
— you_see (@yushi_koga) July 10, 2019
特に演算子オーバーロードは気に入りました。(他の言語にもありますが…
kotlinって演算子オーバーロードをサポートしてんじゃん
— you_see (@yushi_koga) July 6, 2019
これは個人的には熱い
値オブジェクト同士の演算するときに四則演算子で表現できたらいいなぁってずっと思ってました。
たとえばコレクションオブジェクト同士のマージを.addAll
とかではなくlist + list
で表現したいです。
演算子オーバーロードやっぱいいな
— you_see (@yushi_koga) July 14, 2019
kotlinでこう書いたらlistがマージされた、マジ直感的だわ
>>> listOf("hoge","fuga") + listOf("foo","bar")
res1: kotlin.collections.List<kotlin.String> = [hoge, fuga, foo, bar]
Kotlinならこれが実現できそうです。
whenもいい感じに使えそうです。
kotlin
— you_see (@yushi_koga) July 17, 2019
任意のオブジェクトをwhenに使えるだと??
区分の組み合わせとそれに紐づく処理の呼び出しに使える…のかな?具体的な利用例が思いつかないや
仕様を知ったその瞬間はこんな感想でしたが、用途を考えていたらすぐ閃きました。
strategyパターンに使えるな
— you_see (@yushi_koga) July 17, 2019
適切なstrategyを返すdispatxherの実装に便利だ
OOPなコードを心がけていると、バリエーションが生まれるところでStrategy/Policy/Stateパターンを使ったりしますが、そのクラスをディスパッチするcreation methodを作る必要もあります。 Kotlinならこのcreation methodをいい感じにかけそうです。
という感じでまだKotlin In Actionを読んでいる途中なのですが、本の数章読んだだけでコードがきれいに描けそうなイメージが湧いてきました。 引き続き、学んでいきます( ・`д・´)