JanGaJan.com

Is fun? JOY!

MetaNight 第3回を開催しました

イベント概要については、About MetaNightをご覧ください。

MetaNightというMetaprogramming Ruby 2の読書会の第3回目を開催しました。

活動内容

Part 1 Chapter 2のThe Problem with Open ClassesからChapter 2の終わりまでやりました。
読みながらの意見とかはこちらに載せてあります。
https://trello.com/b/5WFCQ2ER/metanight-3rd

感想

前回ダメだったフリーマンカフェに行きました。

a dark side of open class

オープンクラスのネガティブな側面が紹介されていました。
Monkeypatchの例としてリファクタリングの過程でArray#replaceというメソッドを用意すると、既存機能をoverrideしてしまってテストでこけたという内容です。
テストのおかげでリファクタリングの不具合に気付かせておいてさりげなくテストいいぜアピールをしていますね。

overrideは必ずしも悪いことではなくて、例えばRailsなんかでも、requireメソッドをoverrideしていたりします。Railsは標準ライブラリのクラスにも様々なメソッドを追加して、あると便利!と思わせるものは多いです。

Billがさらっと、grep(/regex/)を使っていて、pipe感覚でメソッドチェインをできるのはRubyで書いていていいところだという気づきもありました。

それとArray#replaceは実は破壊的らしい。Ruby Sliverのひっかけ問題によく出るので要注意らしい!

英語

  • fire up irb

irbを起動する、というニュアンス。発火を表現するいい日本語ってありそうで見つからなかった。

  • perplex

なぜconfuseではダメなのか。ニュアンスの違いが難しい。

  • pique

駆り立てる。ネガティブな意味合いを持っている表現だけど、ここの場合だとどうなんだろう。

その他

  • エディターは何を使っているのか。4人全員バラバラだった
  • スクラムというものについてかじりました
  • tapはメソッドチェイン中にログ出力したいときに使いやすそう

第4回を12月中にできたらやりたいな。

Comments