swiftを勉強してrubyの コードが変化した3つの事
TRANSCRIPT
@kkkyouhei
swift ruby
swiftを勉強してRubyのコードが変化した3つの事
1つ目
Structを使うようになった
メソッドの戻り値としてhashを受け取る例
before
after
メリット
hashは無い要素にアクセスするとnil
structは例外が発生
戻り値に変更があった場合に呼び出し元のコードを修正漏れが合っても見つけやすい
2つ目
メソッドの引数にブロックを活用するようになった
外部APIを実行する例
before
after
メリット
メソッドの戻り値が配列やハッシュだとコード上からは
読み取りにくい
ブロックの引数を単純な値にすることで理解しやすい
3つ目
抽象クラスabstract class
HTMLをパースしてデータを取り出す例
before
×クロールするドメイン分
after
共通処理は抽象クラスに残す
具体的な処理は実装クラスに移動
メリット
DRY
ただし呼び出し元のクラスによってテンプレートメソッドの挙動を変えるような事があれば意味がなくなる
おわり