Edited at

Swiftのコードレビューポイント

More than 3 years have passed since last update.


プレレビュー

本格的にレビューする前にざっくり見るポイント


  • コンパイルが通る

  • 単体テストが通る

  • 警告が出ていないか

  • gitのdiffチェック


重点的に見る

コードレビューで抑えておかないと後工程で気が付きにくいバグを仕込む部分


マルチスレッド


  • 重い処理(通信、ローカルデータアクセスなど)をmainスレッドから切り分けられるか

  • アニメーションなどUIViewの描画に関わる処理をmainスレッド以外のスレッドで叩いていないか

  • サブスレッドで動く前提の処理が、想定外のスレッドで叩かれていないか


ネットワークアクセス


  • alamofire、SDWebImageなどプロジェクトの標準で統一できているか

  • connectionの設定を適切に引き回せているか


メモリリーク

strongの循環参照が発生していないかチェック



  • @IBOutletでweakが抜けてないか

  • クロージャ、ブロックの中でselfや他の変数をstrong参照していないか

クロージャ内でのweakとunownedの使い分けについてはこちら

http://qiita.com/susieyy/items/f57f9362b8e0a89023cb


  • addsubviewしたviewが適切にremoveFromSuperViewされてるか(viewの場合は?cellの場合は?)


storyboard,xib


  • 変更のないコミットがされていないか

  • 破壊的な変更がされていないか


その他チェックするポイント


  • 正確さ

  • 読みやすさ

  • パフォーマンス

  • 再利用性

  • スタイル、コード規約

  • アーキテクチャの使い方


参考

https://github.com/jarinosuke/swift-style-guide/blob/master/README_JP.md

http://ninjinkun.hatenablog.com/entry/2014/04/24/125151

https://github.com/github/swift-style-guide