Pair programming – Tokyo Rubyist Meetup

Webプログラミング

久しぶりにTokyo Rubyist Meetupに参加してきました。今やRubyの勉強会は東京の各駅(駅名.rb)で開催されていますが、外国人がオーガナイザーで英語で開催されているのはここだけのようです。通常はLT(ライトニングトーク)ですが、今回はPair programming sessionと趣向を変えたイベントでした。

チャレンジするプログラムは あみだくじ で、メインのプログラムは用意されていて、そこから呼びだされるメソッドの一部を適切にプログラミングするというもの。

Ruby初級者の自分にはどう手をつけてよいかわからず、ペアを組んだジョノのアドバイスをもらいながらプログラミングしていく。「レイ」が聞き取れない。「lie?」などと聞き返すと、[1 2 3]とキーを叩いてくれたので、Array(配列)のことだと理解。

「ここのソースコードをこういう風に変える必要があるよね」と説明をされて「??」という顔をしていると、irb(Interactive Ruby)で動作を見せてくれたので、「ああ、なるほど!」と理解する。

「幅:4、高さ:5、-:固定」の場合を動作させることができ、続いて幅と高さと-(ハイフン)がランダムに設定されるようにする。難易度が上がったので、プログラミングしてもらいながら横で説明を聞く。

下記のような場合、1を選択すると、1-2へ移動後して下へ行くと、-(ハイフン)が1と3の両方にあるので恐らくエラーになるね、という話しを聞いたところで時間切れ。-(ハイフン)が横並びにならないよう例外処理を加える必要がありそう。

1 2 3 4
| |-| |
|-| | |
|-|-| |
| | |-|
| |-| |
|-| |-|
1 2 3 4

こういったバグを洗い出すには手動ではなかなか難しいので、プログラムとそのプログラムをテストするテストコード(テスト自動化)を書くことをセットで進めていく必要があることを改めて実感。

Tokyo Rubyist Meetup

今回自分は勉強になったが、ジョノは教えるだけで得ることは何もなかったのだろうから少し申し訳ない気持ちになる。ペアプログラミングではなく、モブプログラミングなるものがあることを知ったので、今度はそっちに参加してみようと思う。複数人なら中級者同士も得ることがあるだろうし。

平成.rb 3人1チームでモププロ会