新しいプロジェクトに参加したり、オープンソースコードを読んだりするときは、いくつかのプロジェクトが一 コードベースに対してこのような効果をもたらす要因を要約すると、コード規約の概念が出てきます。
:
- コード規則とは何ですか?
- 彼らの採用があなたのプロジェクトにどのように大きな利益をもたらすことができますか?
- SwiftLintとは何ですか?
- そして、どのSwiftコードスタイルを選択するのですか?
Swiftコード規約の定義
コード規約は、ファイルの構成、プログラミングの実践、設計パターン、アーキテクチャのアプローチなどを記述するdosといけないことのセットです。 これは、チーム、組織、または個人が従う正式なルールセットであるか、特定のコーディング慣行を適用する習慣と同じくらい非公式であることができます。
コードスタイルは、インデント、カンマの位置、中括弧、大文字などのファイルの書式設定を制御するコード規則のサブセットです。 Swiftコミュニティでは、この2つの区別は通常行われず、一般的な用語であるSwift code styleまたはSwift style guideが使用されることがあります。
コーディング規約は次のようになります:
- ファイルの名前付け:単一の型を含むファイルは、その型と同じ名前を持つ必要があります。
- 行の長さの制限:コードの単一行は160文字を超えてはなりません。
- 名前付け:変数は
lowerCamelCase
です。
Swiftコードスタイルを使用する理由
すべてのSwift開発者は、言語が巨大な可能性を秘めていることを知っています。 したがって、Swiftコードスタイルの中心的な目標は、Swiftコードを書くための良い習慣と悪い習慣を記述することによって、この複雑さを減らすことです。
なぜコードを読みやすくすることが非常に重要なのですか?
Robert C.Martinによると、コードを読むのに費やす時間は、コードを書くよりも10倍以上です。 さらに、私たちは常に新しいコードを書くために既存のコードを読んでいます。
ソフトウェア工学の事実と誤謬からの別の研究では、プログラム全体のコストの40%-80%がメンテナンスに費やされていると述べています。
Swiftスタイルガイドがもたらすメリットをまとめてみましょう:
- プロジェクトの構造を理解するのに役立ちます。
- は、コードの可読性を向上させます。
- はメンテナンスを容易にします。
- 新しいチームメンバーのオンボーディングを高速化します。
- は、最高のプログラミング実践を習得する可能性を与えます。
- は、コミュニティ内のプログラマ間のコミュニケーションツールになります。
このような大きな影響のために、コーディング規約は通常、IT組織やプログラミングコミュニティ全体でも採用されています。
コードスタイルをゼロから設計することは自明ではない作業であり、統合された努力が必要です。 幸いなことに、Swift開発者は車輪を再発明する必要はなく、複数の既存のSwiftスタイルガイドを利用することができます。
最も顕著なSwiftコーディングスタイルをより詳細に調べてみましょう。
Swiftコードスタイルの探索
良いコードスタイルの定義は主観的であり、私の個人的な推奨事項は、複数のスタイルを詳しく説明し、プロジェクトのニーズに 以下のリストは助けるためにここにあります。
1. Swift.org
このガイドはSwiftコミュニティのデフォルトの標準です。 これは、すべてのSwift開発者が理解し、従わなければならないルールの絶対的な最小セットを統合します。
このガイドでは、すべてのシステムフレームワークに続くSwift API設計の基礎的な側面に焦点を当てています。 それはあなたのコードをシステムApiと一緒に有機的に見せるだけでなく、Cocoaフレームワークを読みやすく理解しやすくします。
Swift.org コードスタイルは、ルールの包括的なセットを提供するのに十分ではありませんが、それは以下に記載されている他のガイドに大きな追加を行います。
Swift.org コードスタイル
2. Google
あなたは通常、一つの文で’Google’と’Swift’に遭遇することはありませんが、今回はありません。 Googleは間違いなくコード規約の重要性を理解しており、Googleスタイルガイドに記載されているように、すべての主要なオープンソースプロジェク 私の推測では、このSwiftガイドのTensorFlowに感謝する必要があります。
このSwiftコードスタイルは、その包括性で印象的です。 それは単にそれらをここにリストすることはこの記事を二度長くさせるそう多くの面をカバーする。
このガイドについて本当に価値があるのは、すべての点が、多くの場合、すべての言語の基礎となる優れたプログラミング慣行をリストすることによ 私は非常にあなたがSwiftガイドを探しているかどうかを読むことをお勧めしますプログラミング実践セクションは、本当にこの面で輝いています。
このガイドを読んで理解した後、あなたは一般的に良いプログラマを見つけるだけでなく、あなたのポケットに迅速なトリックの束を追加します。
リンク:Google Swiftコードスタイル
3. レイ-ウェンダーリッヒ
raywenderlich.com iOSコミュニティではよく知られており、特別な紹介は必要ありません。 Rayの記事と同じように、このガイドは明確で理解しやすい方法で書かれており、Swiftの初心者
に特に適しています。このガイドは、明確で一貫性があり、簡潔であるという明確な目標に間違いなく達しています。 各ルールの後には、完全な説明、推論、およびdosといけないことの例のセットが続きます。
このガイドで私が気に入っているのは、Swiftの構文とコードの書式設定を超えて、未使用のコードの回避などの優れたプログラミング慣行を説明し、値と参照型の違い、遅延初期化、アクセス制御、早期リターンなどの概念を説明していることです。
この記事を書いている時点では、すでに137のクローズドプルリクエストがあり、ガイドがコミュニティによって大きくサポートされていることを示しています。リンク:Ray Wenderlich Swift code style
4. LinkedIn
LinkedInは内部コンポーネントをオープンソース化するのに優れており、Swiftのものも例外ではありません。 彼らのSwiftスタイルガイドは3年以上にわたって存在しており、オープンソースコミュニティとLinkedInチームの両方から多くの改善が組み込まれています。
LinkedIn Swift guideは、簡潔で簡潔でよく構造化されています。 短い理論的な説明は、多くの場合、より良い特定のルールの背後にある推論を理解するために提供されています。 例は常に自明であり、その点を明確に示しています。
このガイドは主にコードの書式設定に焦点を当てており、このリストの他のSwiftコードスタイルと組み合わせて使用することを強くお勧めします。
Link:LinkedIn Swift code style
5. Airbnb
AirbnbチームはiOSコミュニティへの貴重な貢献でよく知られています。 私がこの記事を書いている時点で、Airbnb Swift Style Guideはこのリストの中で最も新鮮なものになっているのはわずか1週間前です。
最初から、ガイドはなぜコードスタイルが必要なのかを説明することによって正しいコンテキストを設定し、私は各点に完全に同意します。
ガイドは読むのが楽しいです:それはよく構造化されており、ルールは正確に説明されています。 それが理にかなっているところでは、各点にはdosとdontの例と理論的な文脈が付随しています。 ほとんどのルールは、SwiftLint-以下のいくつかの段落で説明する静的アナライザツールを使用してlintableになります。
私は特にAirbnbが実用的なSwiftのアドバイスを与えるパターンセクションが好きです。 たとえば、可変の代わりに不変の値を使用するように処方し、列挙型の定義に関するヒントを提供します。 私のお気に入りは、アサーション、前提条件、致命的なエラーの使用法が非常に詳細に説明されている予期しない条件の処理です。
このガイドでは、スクリプトの手段として簡単に適用できる書式設定セクションのルールを満たすためのXcodeエディタ設定も提供しています。
リンク:Airbnb Swiftスタイルガイド
Swift Code Linter SwiftLint
私たちはすべて人間であり、意図的にかどうか、私たちはすべて間違いを犯します。 したがって、Swiftのコーディング規約を文書化したり、口頭で同意したりするだけでは不十分です。 ミスの数を最小限に抑えるために、ルールはlinterとして知られている自動化されたツールによって強制されなければなりません。
Linterは、プログラミングエラー、バグ、フォーマットエラー、および潜在的に有害な構造体を検出する静的コードアナライザです。
SwiftLintは、カスタムルールに基づいて設定できる最も広く使用されているSwiftコードアナライザです。 まだ使用していない場合は、SwiftLintをチェックし、できるだけ早くSwiftプロジェクトで使用することを強くお勧めします。
SwiftLintについて理解すべき最も重要なことは、”単一の真のスタイル”を強制するのではなく、プロジェクト内で一貫性を保つのに役立つということです。
概要
統一されたコード規則はプログラミングの生産性に大きく貢献し、私たちは常に可能な限り生産的になりたいと考えています。
最も注目すべきSwiftコーディングスタイルのリストは、Swiftのベストプラクティスの素晴らしいソースであり、独自の規則セットを詳しく説明する出発点
良いSwiftコードスタイルは主観的なものであり、あなたとあなたのチームの考慮に委ねられるべきです。 それが承認され、文書化されると、そのようなスタイルは標準となり、多くの利点をもたらす可読性を向上させるためにプロジェクト全体で一貫していなければなりません。
SwiftLintはSwiftコミュニティで広く採用されているツールであり、コーディング規約を強制するのに役立ちます。 これは、早期に人間のミスを回避するのに役立ち、プロジェクトのツールスタックへの貴重な追加することができます。