タグ

iPhoneとlintに関するraimon49のブックマーク (1)

  • Swiftでas!と書く場合のガイドライン - soutaroブログ

    as!って言うのは、要するにダウンキャストできない場合にプログラムを終了させるものである。 if let x = expr as? SomeClass { f(x) } else { fatalError() } と書くのであれば、 f(expr as! SomeClass) と、同じことなので、as!で書いた方が良い。その方がタイプ数が減るし、コードの見た目も簡潔になって理解しやすくなる。長いコードはそれだけで苦痛だし、なにか間違ったプログラミングをしていることを示すシグナルにもなる。ダウンキャスト失敗の場合に終了するためだけにifを書くことは、全体的なコードの乱雑さを増してしまい、当の問題の見落としに繋がる。 ただし、as?とかas!とかダウンキャストをしてる時点で、そのプログラムには潜在的な問題があると考えることもできて、当にダウンキャストが必要なのか3回くらい考えた方が良い。

    Swiftでas!と書く場合のガイドライン - soutaroブログ
  • 1