アプリ設計レビューをレイヤー観点からアプローチする方法 by Yusuke Kita

iOSDC Japan 2024
レギュラートーク(20分)

アプリ設計レビューをレイヤー観点からアプローチする方法

kitasuke Yusuke Kita kitasuke
4

バグの早期発見には、コードの手戻りを早い段階で減らすことが重要です。コードレビューは、コードが仕様通りに動作し、品質が高いかどうかを評価する代表的な手法です。しかし、コードレビューの段階で根本的なアーキテクチャの問題が指摘されると、既に書かれたコードが無駄になる可能性があります。したがって、設計段階でのアーキテクチャレビューも重要です。

ただし、アーキテクチャガイドラインに基づく設計レビューでは十分な成果が得られないことがあります。これは、アーキテクチャには早期対応が必要な部分とそうでない部分があるためです。例えば、MVVMアーキテクチャでは、Viewの修正はコードレビュー時でも対応可能ですが、ViewModelの修正は早い段階で対応しないと、その影響がModelやViewに広がり修正が困難です。これは、ViewModelがビジネスロジックなど多様な責務の間でデータの受け渡しを行うためです。この例からも分かるように、重要な責務におけるデータのやり取りに関するコードは早期対応が必要です。

そこで、重要な責務のまとまりをプレゼンテーションレイヤー、ドメインレイヤー、データレイヤーの3層に分類し、各レイヤー間のデータフローをレビューすることで、早期対応が必要な手戻りを減らすことを狙います。このトークでは、設計レビューにおける各レイヤーの重要性と具体的なレビュー方法について紹介します。