I attended "Coding Dojo: Legacy Code (C# and Java)" in Singapore
はじめに
I attended the meetup of Agile Singapore.This is the report of the meetup.
弊社シンガポールオフィスの同僚に誘われて、彼がオーガナイザーをしているイベントのミートアップに参加してきましたので、簡単な参加レポートです。
英語でも書こうかと思ったのですが、早々に力尽きたので日本語にします(笑)
内容
テーマ
テーマはズバリ『レガシーコード改善』! なんという耳慣れた響きでしょう。
というわけで二つ返事で行くことを決めました。
事前準備
事前の宿題として、この本を読むかこの本についての短い記事を読んでくるというのがありました。
Working Effectively With Legacy Code
- 作者: Michael Feathers
- 出版社/メーカー: Prentice Hall
- 発売日: 2004/09/22
- メディア: ペーパーバック
- 購入: 8人 クリック: 168回
- この商品を含むブログ (69件) を見る
さすがに原著を全部読むと干からびそうだったので、短い記事と、日本語訳を読んで臨みました(ってかこのためにわざわざシンガポールに持ってったw)
レガシーコード改善ガイド (Object Oriented SELECTION)
- 作者: マイケル・C・フェザーズ,ウルシステムズ株式会社,平澤章,越智典子,稲葉信之,田村友彦,小堀真義
- 出版社/メーカー: 翔泳社
- 発売日: 2009/07/14
- メディア: 大型本
- 購入: 45人 クリック: 673回
- この商品を含むブログ (147件) を見る
いざ参加!
お題
お題はこちらでした。いい感じのレガシーコードっぽさでした。こいつにバグが埋め込まれており、それを直しつつコードをより良い形にしていく、というものでした。
すすめ方
すすめ方楽しかったです。「乱取り(Randori)形式」。
実際本で読んだこととかはあったのですが、やったことはなかったので面白かったです。
やり方はこんな感じ。主催のStanlyさんがこんな絵を書きながら説明してくれました。
- スクリーンに向かって2人座る
- 一人がキーボードを持つ(ドライバー)
- もう一人の人がアドバイスをしたり、今していることを明確化したりする(ナビゲーター)
- 他の人は横に座って、質問したりする
- 5~10分くらいで持ち時間を決め、タイマーで時間をはかる
- 時間が来たら席を全員一つ移動して、役割をチェンジする
感想
ちょっと掘り下げたいものもあるのですが、それは別エントリーにすることにして、箇条書き的に書きます。
- 英語英語英語。シンガポールの人は、英語が伝わらなくても当然って感じで接してくれるので、少人数で話たりするのはそんなに苦労しないのですが、みんなで議論するとさっぱりでした。特に中華系、インド系、マレー系その他いろんな人がいるので、特定の人がしゃべる英語が本当に聞こえないとかあって涙しました。そしてそんな調子だとうまく議論にも加われず。聞こえた内容は難しくないし、自分も話したいのに話せない!という悔しさがすごくありました。次回の課題。
- ペアプロ時のコミュニケーションの多さを初めて肌で感じた。
- 弊社の同僚がいかに気を使って英語をつかったり、チームをよろしくしようと頑張ってくれているかがわかった。ごめんねもっとちゃんとコミュニケーションとれるようになるね。
- 話してる内容とかは、日本とかとあんまり変わらない。でも日本にはないトレンドみたいなものはあるかも。レガシーコード改善のための5ステップとか、日本ではあんまり馴染みないよね?
- すげーと思えるエンジニアはやっぱりマジですげー。
- 英語が苦手だとはいえ、入る乱取りの空気感によって、やりやすさはだいぶ違う(2グループ作って、1時間半くらいで交代したんだけど、後半の方がはるかにやりやすかった。)
- TDDやペアプロとリズム感の大事さ再認識。
- 英語キーボードに阻まれたから、ちゃんと英語キーボード覚えてくるっていったら、「日本語キーボード持ってくればいいんだよ」って言われた。解決。
さいごに
今回はちょっと無茶して英語の勉強会に出てみたわけですが、私の英語力では本当に無茶でした(笑)でも、楽しい部分も悔しい部分も楽しい部分ももどかしい部分もいろいろあり、今後につながりそうです。
また参加したいなー。またきたいなーシンガポール |д゚)チラッ
というわけで誘ってくれたJohnと、こんな私を快く受け入れてくれた主催のStanlyさんに感謝!
Thank you John for inviting me!