コードの中にIF文があると、分岐として理解を進めなければいけないので、分岐の中の処理量が多いときはもちろん、少ない時もすこし複雑なコードに感じます。
よく、三項演算子は、複雑になるだけで、良いことないというような説明が見られるけれども、三項演算子をシンプルに使う分には、上記の複雑さ軽減に役立つと思う。
例えば、状態に応じて、変数に特定の値を入れたい時のコード
Sponsor Link
if文を使用
コード
1 2 3 4 5 6 7 8 |
var currentRatioWidthDivByHeight if (self.frameOrientation == .Landscape) { currentRatioWidthDivByHeight = widthDividedByHeightAtLsizeLandscape } else { currentRatioWidthDivByHeight = widthDividedByHeightAtLsizePortrait } |
三項演算子を使用
コード
1 2 3 |
let currentRatioWidthDivByHeight = (self.frameOrientation == .Landscape) ? widthDividedByHeightAtLsizeLandscape : widthDividedByHeightAtLsizePortrait |
三項演算子のPros/Cons(if文使用と比較して)
- [Pros]不必要に、varな定数を作る必要がない(設定以降変更しないので、本来letで定義できる変数を、プログラムの都合でvarで定義する必要がない)
- [Pros]一行ですむ
- [Cons]条件分がシンプルでないとパッと読めない
- [Cons]一行が長くなりがち
Sponsor Link