変態文法とKotlin Puzzlers
変態文法
Kotlin Puzzlers
- ラムダの中でreturnはインライン関数でしか使えない
Destructing Declaration
Nullable Boolean
if (condition ?: false) { }
- true/false/nullの3つの場合分けするとややこしい
SAM変換
sealed class
Data Binding
もくもくKontribute
Providing Sample Codes
ホットペッパービューティー / Kotlin採用時の懸念と実際
- 2016/6〜2017/12でリプレイス
- 84画面
- 最大11人
- must案件以外完全ストップ
なぜKotlin
- Android界隈での高まり
- 一度Javaのままリプレイスしたらもう変えられないだろう
- エンジニアのモチベーション
採用の懸念
- Kotlin化したらKotlinエンジニア探し続けないといけなくなる
- 学習コスト低い
- 採用リスク無視できるだろうと
- Java経験者なら1週間
- Javaの資産使えるのがいい
- 未熟なエコシステム
- 最悪Javaで書こうとしてたが必要なかった
- Javaの静的解析ツールが無駄になった
- 言語としての発展性
ktlint
Kotlinのlint
- AbemaTVで最近ktlintいれた
- kotlinの静的解析ツール&フォーマッター
- json/xmlで出力できる
- gradkeのタスク追加するだけ
ktlintのルール
- 公式のスタイルガイドにそっているルール
- ルールを変更することは公式ではできない
- 特定の行で無効化とかはできる
- ルールの追加はできる
ktlintの仕組み
CI