Skip to content

Instantly share code, notes, and snippets.

@yamaya
Last active August 29, 2015 14:20
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save yamaya/173ba6bc775f0933b013 to your computer and use it in GitHub Desktop.
Save yamaya/173ba6bc775f0933b013 to your computer and use it in GitHub Desktop.
Swift Don'ts の勝手訳

オリジナルは gist:d91aef87e95f99c094c0 です

  • 出来の悪いコードを追加するな
    if文の条件とreturnを囲む括弧を避けろ。文が要求する場合を除き、同一行の文を分割するセミコロンを書くな。

  • 全て大文字は使うな
    キャメルケースを使え。

  • 型インターフェイスと戦うな
    列挙接頭子、自己参照を使え。コンストラクタを伴うクラス名は必要な時や、コードが綺麗になる場合のみ使え。

  • プロパティを除き、letが適切な時にvarは使うな
    コンパイラはそのライフタイム中に変更されない時、let文を適切に最適化する。例えば、Appleが書いているように

    全てのケースにおいて変更の必要がないコレクションはimmutableで生成するのが良いプラクティスである。
    そのように生成されたコレクションについて、Swiftコンパイラは性能を最適化する。

  • structが適切な場合にclassを使うな
    参照型が必要な時にクラスを使い、値型が必要なときは構造体だ。Swiftではどちらにも機能(と列挙)を追加できる。 迷った時は値型で考えろ。 ライフサイクルを持っていない、もしくは似た値を持つ2つの値を生成するようなら構造体を使うことを考えろ。

  • オプショナルが本当に必要な時に値をフォールバックするな
    ヌルチェックに疲れているならば、Swiftの使い方がまずい。

  • トップレベルの定義を除き、アクセス制御を忘れるな
    アクセス制御は再利用を可能にし、モジュラー化する。

  • 饒舌になるな
    (プロパティでは)get節の推察を使う、匿名引数(例えば$0、クロージャにおける型の些細を省ける)、などなど

  • Allmanスタイルを使うな
    1TBSを使え。

  • FoundationとCocoaを避けるな
    同時に、可能であればSwift 内蔵型を使え。

  • CGPointMake() を使うな
    レガシーなものより、Swiftコンストラクタと初期化子を選択しろ。

  • 不要な変数は使うな
    ワイルドカード表現(_)は代入を無視できる。呼び出しスコープで参照しない項目を省略するのに使える。例えば、 let (status, _) = GetInfo()for _ in 1...5 { 何かを5回行う } など。

  • 大文字を恐るな
    enumではTitleCaseを使え。

Kevin Ballardに感謝

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment