zukkeyの技術奮闘記

”当たり前”が誰かのためになる、はず

Androidアプリ設計パターン入門を読んで: #2

はじめに

今回は、前回の続きでPEAKSから発売されているAndroidアプリ設計パターン入門を読んで所感や学びになったことについて書きたいと思います。

 

今回は、第2部の生きた設計を知るについてです。

全部ではありませんが、自分の中で共感して読めたところだけを節ごとに紹介していきます。

 

ちなみに、前回の記事は以下になります。

rozkey.hatenablog.com

 

差分開発にみる設計アプローチ

メルカリの人による設計の話でした。

印象的だったのは、BaseActivity問題。

前の現場でもBaseActivityを作成していて、Activityを作成するときは必ず継承する必要がありました。

ただ、規模が大きくなかったことと最低限の共通の機能だけ書くようにしていたのでそれほど問題に感じたことはありませんでしたが、メルカリほど規模が大きくなると困ったことになるのだなと感じました。

 

超多段継承地獄とか、大変だなぁと普通に思いました。

継承関係が多すぎると複雑で入ってきたばかりの人は読むの辛いだろうなと思います。

 

僕自身、規模が大きくなったプロダクトに参加してみて思うことは歴史的な背景が多すぎて書き方が統一されていなかったり使っているのが場所によって違ったりするとやり辛さを感じることが多々あります。

とはいえ、一からプロジェクトを作ってきてかつ様々な人が開発に携わっているので仕方のないことなのです。ですから、ある程度方向性を決めて開発メンバーが各々リファクタリングしていくしかないのかなと思います。

 

OSSにおける設計者の役割

よくAndroidで悩んだことをググると出てくるドラえもんのひとによる話でした。

印象的だったのは、考えることを減らすということでした。

今回はOSSにおける設計の話でしたが、やっぱりある程度ルールを明確に決めていかないと、開発者が考えることが増えるんだなぁと自分の経験的にも納得しながら読んでました。

 

カンファレンスアプリの設計の話を詳しく書かれていて読んでいて裏側はそうなっていたのかと読み進めることができ、面白かったです。

 

 

Fluxアーキテクチャ

Fluxを何となくで認識している私がいましたが、基本的なことから説明されており非常にわかりやすかったです。

サンプルを用いての具体的な説明があるだけではなく、メリットとデメリットが述べられて納得しながら読み進められました。

ただ、コードを書いていないのでまだちゃんと理解しきれていない部分はあります。

また、RxJavaと相性がいいということもわかり、最近基礎固めを終わったのでもっと勉強して身に着けようと思います。

 

 

おわりに

現在のAndroid界隈を背負っている人たちの設計の話が、サンプルを用いられて書かれており非常に勉強になりました。

今回読んでいく中で思ったのが、開発者がその都度考えることを減らすことを念頭にいれて設計するのがよい設計なのでは?と未熟ながら思います。

というのも、僕は一番初めの現場に入る前にリーダブルコードというプログラミングを現場で書く際のお作法的なのが書かれている本を読んだのですが、その中であったのは後で見たときにすぐに理解できるか的なことだったと思います。

プロダクト開発は、事業始めたばかりの時とかは少人数なのでどうとでもなるような気がしたのですが、何人も開発に携わっていると多種多様な書き方がありカオスなことになってきます。

なので、ある程度ルールを決めてやることと統一していきモダンな設計に変えていきたいなぁと漠然と思いました。

 

未熟者ではありますが、本を一通り読んでの率直な感想を書かせて頂きました。

最後まで読んでいただきありがとうございます。