TDDBC長岡の第2回めに参加してきました。今回は懇親会の準備でビアバッシュの提供をお手伝いするという形で協力し、せっかくだからとTDDとペアプログラミングを体験するために本編にも参加させていただきました。
感想
私はPythonを選択して参加しました。ペアはmohiraraさんで、すでに何回かTDDBCに参加経験もあり、日常でもペアプログラミングをしているという方で、そのおかげで進行はグイグイmohiraraさんにひっぱっていってもらいとても助かりました。
二人ともIDEとしてPyCharmを使うという点は共通だったものの、私はVimプラグイン・Eclipseキーバインド・JISキーボードで、mohiraraさんは標準キーバインドでUSキーボードということで、「どうするどうする?」みたいになりました。
mohiraraさんがこんなこともあろうかと、Bluetoothキーボードを持参していたので、私のPCで、Vimプラグインは外してやるあたりを妥協点として開始しました。
ToDoリストを共有して、作業の流れを確認しつつ、自分がなにをしようとしているかを話しながらコードを書くのは新鮮でした。
「ペアプログラミングは休むタイミングがなくなるから、ちゃんと時間で区切って休みましょう」と案内があったとおり、自分のタイミングで脳を休めることができなくて、とても疲れました。
テストのGreenを維持しながら、コードをリファクタリングしていくやり方に納得感を感じながらTDDのサイクルを回すことができたと感じております。
普段はテストファーストとは言えませんが、テストは書きつつ、テストでグリーンを保ちながら改変するという行動をしていました。先にテストを書いて、使う側からの視点で考えるということも参考になりました。
mohiraraさんはPyCharmの機能をふんだんに使いながらリファクタリングしていました。わたしもJavaでEclipseを使っていた頃には、強力なリファクタリング機能を頼りに修正していたのですが、Pythonを使うようになってから静的な型のしばりが弱くなってリファクタリング機能が遅いとかイマイチに感じてしまい、vimの編集機能でガツガツ直してしまうことが多くなってしまいました。
ペアプログラミングの最中には、「それはXXキーですぐにできます。デフォルトキーバインドでは」とかたくさんアドバイスをもらいました。そこから機能を推測し、「Eclipseでいうところのキーかな?」みたいな翻訳作業をしながら使うことができました。PyCharmの機能やショートカットキーをガンガン使えるように訓練すべきだと思いました。
Eclipseキーバインドにもこだわりがあるわけではなく、Eclipseからの移行時にすんなり使えて嬉しかったからつかっていたまでで、あらためて標準のキーバインドで訓練し直そうかとも思いました。