タグ

ブックマーク / qiita.com/ezura (1)

  • Swift リファクタリング実践 Tips1 - Qiita

    label.text = { if /* condition */ { return "a" } else if /* condition */ { return "b" } else { return nil } }() この処理の意味するところは「label.text の値を条件に応じて設定している」なのですが、before の場合、「何か条件分岐してるな」などの伝えたいことの質とは少し外れたステップを読み手に"最初"に考えさせてしまいがちです。 「ぞれぞれの条件のとき、何がおきるのかな」→「なるほど。label.text の値を設定しているのだろう。いや、もしかして、label.text ではないものに対しての処理も紛れてないか?」→「紛れもなく、label.text の値を設定しているのだ」と、心配させてしまうかもしれません。 一方、after のようにすると、その処理群が何をし

    Swift リファクタリング実践 Tips1 - Qiita
  • 1