実装面、仕様面の実装方針 &レビューポイントを以下にまとめる。
実装レビュー
- ソースコードが命名規則通りに統一されている事
- ファイル名、クラス名、変数名、定数名等の命名が意味がわかるもので統一されているか
- キャメルケース、スネークケースの統一はされているか
- 静的解析で指摘事項がない事
- リスト表示で遅延処理が正しく実装されている事
- 分からない場合は、スクロールするたびにリスト内の要素のインスタンスが生成と破棄を繰り返していることをログレベルで確認する
- 例外ケースでも耐えれる実装ができている事
- nullableデータを正しく扱えている事
- 文字数が多い場合に画面が崩れない事
- Exceptionを適切に扱えている事
- 非同期処理のローディング中や機内モード中のエラーハンドリングの実装ができている事
- 端末の機内モードを使い、ネットワーク接続できない状態で動作確認をする事
- コンフリクトを解消している事
- アプリの設計通りに実装されている事
- フレームワークや外部パッケージのアンチパターンを踏んでいない事
- 公式ドキュメントやパッケージのドキュメントを確認する
- 重複する実装はしていない事
- 過剰なカプセル化をしてメンテナンスしづらい実装にしていない事
- ビジネスロジックやカプセル化ロジックに対して、機能拡張されても耐えれるようなIF設計がされている事
- 第3者が触っても崩れない設計になっている事
- 途中から参画したエンジニアが誤った実装をすることを防ぐ
仕様レビュー
- デザイン通りの実装ができている事
- 端末の設定より、フォントサイズ(テキストスケール)を大きくして崩れないか確認
- 小さい端末、大きい端末で確認
- iOSとAndroidの端末で確認
- ダークモードをONにしてもデザイン通りであるか確認
- 分からない場合はデザイナーに確認して認識通りのデザイン実装ができているか
- 要件通りの挙動になっている事
- そのPRがどのような要件なのか確認
- PRブランチをプルしてシミュレータまたは実機で動作確認する
- モンキーテストの中で少しいじわるなテストをして(連打したりとか、読み込み中に機内モードにしたり等)して予期せぬ挙動になっていないか確認
メモ