Android Testing Bootcamp #3 にチューター枠として参加し、 Dagger2 の話をしてきました。
android-testing-bootcamp.connpass.com
ライブコーディング
ハンズオン型式だったのでサンプルコードと資料を用意して参加者にコードを書いてもらう型式だったのですが、自分自身もコードを書きたくなったので、ライブコーディングをやってきました。
@named_arguments さんの作られていたプロジェクトへ Pull Request を投げる形で新機能を Dagger2 を利用しないパターン、利用したパターンで実装し、テストを書いた感じです。
感想
参加者の方がほぼテスト未経験だったのが、ターゲットの選択に成功していたようで非常に良かったです。また、ハンズオン型式で手をうごかしつつ、チューターのサポートもあったので良かったのでは無いでしょうか。
ただし、チューター枠として参加した自分目線での気になった点と改善案としては
- チューターが誰なのか分かりにくいし、話しかけにくい感じがあるので、チューターは会場を歩きまわって声掛けをした方が良いかも
- 発表の時間をしっかりと決めておいた方が良かった
- リポジトリは事前に公開しておくと良かった
とかでしょうか。今後もこの会は続いていくのでこれからに期待できますね!!
Dagger2雑感
自分自身もメインのプロジェクトで Dagger2 を使い始めて半年以上が経過しています。コンポーネント間を超えて利用したいモジュールの管理や、テストのしやすさという観点では非常に便利なツールです。しかし、コンパイル時間が伸びることが最近気になり始めてきました。 Kotlin も導入していると、 Kotlin は Java と比較してコンパイルが遅いため開発速度を低下させる要因として無視できないレベルです。
そう考えると、 Dagger2 から巣立つのもありなのかなと思い始めてきました。 Application Context や Activity Context のスコープで管理された Repository からモジュールを Activity や Fragment, View が取得をする型式のようなパターンをなんとなく考えていますが、なんか原点回帰感がある。
何か適当なアプリで試してみたいので、 そのうち Qiita に書こう。