おじゃまぷよ系エンジニアメモ

アプリエンジニアからサーバーとインフラエンジニアに転身しました

技術書典5に「テストが書けない人のためのAndroid MVP」を出展してきました

技術書典5無事に終わりました。足を運んでくださった皆様ありがとうございます。
「テストが書けない人のためのAndroid MVP」という本を出展していました。
f:id:masahide318:20181008200153j:plain
f:id:masahide318:20181008203441j:plain

そもそもなぜこの本を書こうとしたのか

事の発端はDroidKaigiに行った時に、なんとなくチームメンバーとテストコード書きたいなぁとざっくりした話になって
クリーンアーキテクチャやMVVMやMVPがある中で最終的に特別なライブラリを必要とせず、設計上やりすぎ感なく丁度いいであろうという理由でMVPに決まりました。
とはいえ実際にMVPっぽく書いてみたものの結構人によってMVPの認識の違いがあったり、元々存在する便利なシングルトンやUtilクラスが邪魔でテスト書きたいけどうまくいかない部分が出てきたのでそのあたりを解決するにはどうすればいいのかと考え、やってみた結果をこの本にまとめました。
DIとか使えばいいじゃんっていう安直な考えをせず、普通にプログラムを書いていかにJUnitでテストを書けるようにするかがコンセプトになってます。
レガシーコード改善ガイドを参考にしたものが多いのですが、Androidのあるあるな依存を排除するのにかなり参考になる部分が多かったので助かりました。

本書で書ききれなかったこと

本書ではマッチョなActivityをまずはMVPに置き換えてみるということを主軸にしたので、その後の発展としてMVPで依存を切り離したものMVVMに移行したいときはどうするかなど、その後の発展部分については書けなかったのでどこかで余裕があれば電子版などに追加していきたいと考えております……

出展してみての感想

今更MVPは若干古いのであまり多くの人にウケるものではないですが、話を聞いているとやはりテストコードを書けない人やActivityにがっつりソースコード書いてあるプロジェクトはまだまだありそうだなぁという印象を受けました。
ただ自分の書きたいものが書けたので大変満足しております。

オンライン販売もしております

BOOTHさんにて電子版と物理本も販売しておりますので、レガシーAndroidコードと戦っていて気になった方はどうぞこちらからお買い求めください。

t-masahide.booth.pm