オールアバウトには30名ほどのエンジニアがいて、そのうちの3名でCafeSnapというアプリを開発しています。
最近は自分のグループ以外のコードレビューを積極的にしよう、という流れがあるのですが、
なかなかネイティブアプリを開発したことのない人に、レビューをお願いするのは若干ハードルを感じてしまいます。
そこで今回は何を意識してレビューをお願いしたら良いかを、まとめたいと思います。
目的
- スマートフォンアプリ開発について理解してもらう
- レビューをきっかけに自分でも開発してみようかなという人を増やす
- 外の目を入れることで、より分かりやすい仕様になるよう意識し属人化を防ぐ
レビューしてもらうプルリクの選び方
なんでもレビューしてもらえば良いというものではなく、設計に悩んだり自信がない実装であったり、 他の人の意見を聞きたいものだけにしましょう。
あまり見る意味のないレビューをお願いするのは、時間の無駄ですからね。
適した改修
- APIからデータを取得し一覧表示する実装など、Model実装が含まれているもの
- 軽微なバグ修正(比較的改修範囲が狭いことが多いため)
- 期限に余裕があるもの
適さない改修
- ライブラリの導入
- レイアウトの修正などのデザインの修正がメインの場合
- 急いでレビューしてもらいたい時
レビューする上での事前知識
全く知識のない状態でレビューをしてもらうのは不可能なので、事前に資料を共有したり、
勉強会を行ったりしてレビュワーの人に知識を持ってもらうのは必要だと思います。
- ディレクトリ構成
- 処理のライフサイクル
- iOS/Android特有のクラスの役割(UI〇〇/Activity/Fragmentなど)
- delegateなど馴染みのない処理
- 下記の基礎編などに目を通してもらうと良い
レビューしてもらうポイント
このレビューに限ったことではないですが、自分が関わっていない案件は実装する背景などがわかりませんし、
判定条件なども正しいかの判断はできません。なので、あくまでもコードのわかりやすさや設計の部分を重点的に
レビューしてもらうのが良いと思います。
- クラスの設計
- 命名
- 処理が複雑すぎないか(分岐処理など)
- (できれば)APIもセットでレビューしてもらう
注意点
どこまで理解しなければいけないか、というのはレビュワーが悩むポイントだと思いますので、
できるだけ明確に示してあげるとレビューがしやすくなると思います。
- 見てもらいたい部分を明確にする
- あまり大きい改修を依頼しないようにする
- viewなどのレイアウト周りは無視して良いことを伝えておく