Ruby忘年会
一次会
50名参加ということで1テーブルあたり約10人とやや狭かった。自分たちのテーブルは一番奥ということもあってかやや広めだった。
一次会は自分のテーブルはささださんとコーディングスタイルの話で少し盛り上がった。
前にささださんに会ったときはキモいといって否定していたメソッド定義のときの括弧の省略は最近自分も使うようになった。
呼び出しのときの括弧の省略は結構ややこしくて後から変更すると括弧をつけなきゃいけなくなったりして最近はあきらめて最初から書くことも多いのだけど、メソッド定義時であればだいたいのケースで大丈夫なので括弧は省略してしまう。
また、レシーバが省略できるメソッドで引数のない呼び出しの場合()をつけるようにしている。これはローカル変数とメソッドかぱっと見たときに判断がつかないからなのだけど、selfをつけるのが一番見栄えが良いのだけどprivateなメソッドの場合selfをつけることができなくなったので()をつけるということにしている。
def hoge a, b, c=nil # 括弧を付けなくても問題なし # ... end hoge "foo", "bar" # pでデバッグするときなどでどうせ括弧を付けなければいけなくなる def foo # ... end foo = "fuga" foo() # レシーバがなくて引数のないメソッドはローカル変数と見分けがつけにくいときがある
それから、ささださんは捨て変数としてよく_を使うのだそうだ。さすがにこれには同感できなかった。
[1, 2, 3].each {|_| p _ }
二次会
二次会は20名ちょいくらいだったと思う。
高橋さんによればPHPUnitはメソッド名に日本語が使えるのが良いのだそうだ。高橋さん的にはRSpecもshould_beとかではなくて「は」などのメソッドにしてほしいらしい。
$KCODEをUTF-8にすれば日本語が使えるとかなんとかを角谷さんがテストしていたが結果どうなったかは少し覚えていない。リテラルの扱いを変更する際はコードで$KCODEを変更するのではなく、オプションで変更しなきゃいけないというのが少しめんどくさい。
最後の方でid:ogijunさんが駆けつけた。[あとで払う]にみんな爆笑していた。
来年はもうちょっとRubyでライブラリ作ったりアプリ書いたりして参加しないとなぁと思った。