【翻訳】Swift Code Review Checklist
コードレビューでは、1人または複数のチームメンバーが、他のチームメイトの書いたコードをチェックします。コードレビューの主な目的は、新しいバグやエラーがないかコードを評価し、プロジェクトのコードの品質を向上させることです。
コード・レビュー・チェックリスト
コードレビューチェックリストは、レビュアーが構造化されたアプローチを作成し、コードをコードベースに承認するために実行する必要がある全ての品質チェックを思い出させるのに役立ちます。
チェックリストを使用することで、レビュアーは重要なことに固執し、重要なことを忘れないようにすることができます。チェックリストは、レビューのためにコードを書いているコーダーと、レビューを行う人が使うことができます。
コードレビューチェックリストは、ドメイン、ソフトウェア言語、プロジェクト、チーム、技術、コードの決定、コーディングのベストプラクティスに基づいて拡張することができます。この記事では、 iOS の Swift 開発に共通のチェックリストに焦点を当てています。
✅ PR にマージ競合はありますか?
✅ コードはコーディング標準/ガイドラインに従って書かれています。
✅ ハードコードされた値はありません、定数値を使用してください。
✅ enum を優先し、 else なら切り替えます。
✅ 巨大な view controller は避け、代わりに manager 、 helper 、 util を追加します。
✅ 空、未使用の変数、関数、インポートを削除します。
✅ インスタンス化されないクラスは、代わりに列挙型を使います。
✅ 類似した種類の値を列挙の下にグループ化します。
✅ 名前付けは明確で一貫性があるか?名前付けは、自己文書化されたコードを書くために重要です!
✅ クロージャは weak self を使います。
✅ Delegate は weak であるべき。
✅ retain サイクルをチェックします。
✅ 全ての文字列がローカライズされているか確認します。
✅ == nil の代わりに isEmpty を使用します。
✅ == falseの代わりに ! を使用します。
✅ コードに print を使うべきではありません。
✅ Any や AnyObject の使用は最小限に。特定の型やプロトコルを使うか、ジェネリクスを使うのが良いでしょう。
✅ 重い操作はメインスレッドで行うべきではありません。メインスレッドは主に UI 操作のために設計されています。
✅ Final clase は注意して使うべきです。
✅ 文字列の連結は + の代わりに /() で行います。
✅ 新しい Xcode の警告はありますか?
✅ Apple が提供する API で、物事を簡単にできるものがないか確認してください。
✅ スタティックコードアナライザ( Swiftlint )。
✅ 強制アンラップは避けるべきで、 guard let 、 if let をもっと頻繁に使うべき。
✅ computed property よりも静的定数を優先。
Prefer: static let language: String = “swift”
Over: static var language: String { return “swift” }
✅ 型とプロトコルには UpperCamelCase を使い、それ以外には lowerCamelCase を使います。
✅ 継承よりもプロトコルによる合成を優先します。
✅ エラー処理 例: サーバーダウン、インターネット接続なし、遅いインターネット接続。
✅ テストケース - 新しいコードのコードカバレッジ。
コードレビューの目的は、実施される環境と同様に多様です。全てのコードレビューには、ほぼ次の共通目標があります。
欠陥のない、文書化されたソフトウェアであること。
組織が設定した品質基準に準拠。
開発者間の知識の教授と共有。
パフォーマンスを向上させるためにコードを最適化。
レビュアーは技術者でなければならず、コードレビューに対して、建設的で、文書による、公平なフィードバックを提供しなければなりません。コードレビューは、コードを書いた人だけが行うことはできません。
結論
これは iOS の Swift 開発のための一般的なチェックリストであり、多くの拡張が可能です。もしあなたが貢献したいのであれば、 GitHub のレポに PR を投稿してください。この記事では、コードレビュー、ツール、ベストプラクティスを読むことができます。
読んでくれてありがとう、更新された記事は Medium でフォローできます。
コメント、質問、推奨事項があれば、遠慮なく下のコメント欄に投稿してください!この投稿が気に入ったら、シェアと拍手👏をお願いします。
【翻訳元の記事】
Swift Code Review Checklist
Discussion