読者です 読者をやめる 読者になる 読者になる

@kotyのブログ

.NETとかJavaとかPythonとか勉強会のこととかを、田舎者SEがつづります。記事のライセンスは"CC BY"でお願いします。

第5回nsegのふりかえり

やったことのないKPT形式でのふりかえりを、してみよーと思います。

Keep
  • 司会の仕切りが良かった(特に最後のディスカッション)
  • たぶん事前の準備が入念だったからだと思う
  • 懇親会会場が良かった。(ビアガーデン、安い)
Problem
  • 廊下からの光がスクリーンに差し込んで、ustだと見にくかったようだ。
  • 事前の準備が入念だったのは、天野さんがちょっとがんばりすぎとも言えるかも
  • 発表がボロボロだった。ustに残ってるのが鬱なんですがーがー。まあ前向きにいきましょう。
  • 参加者が少なかった。
Try
  • 発表のときは事前に練習する。
  • 会場の設営時に、スクリーンの位置を適切に考える。
  • twitterもやってないしgoogle groupにも入っていない方へリーチする方法を考える

参加者が少なかったのは何ででしょうね??理由が分からないと対策も打ちようがないですが。。
出席者全員が知ってる面々というのは今回が初めてでした。id:suno88さんが言っていたように、出席専門(発表しないよ)というライトユーザーに対して集客していけるか?が大切かと思います。

自分が発表したこと

一応スライドをupします。


が、これが本題ではなく、TDDBC名古屋の参加報告も兼ねて、レガシーコード改善のライブコーディングに挑戦、というのが本題でした。。。
やってみて分かったんですが、けっこう慣れてないと難しいですね。和田さんがやってるのを見て、「オレもできんじゃね?」って勘違いしてしまいました。スポーツ中継や教育のTVスポーツ教室のトップアスリートのプレーを見て「オレもできんじゃね?」って勘違いするのに似ております。
そもそも練習なしの本番一発勝負ってところがダメですね。自分は昔から準備しない悪癖があり成長していません。

今回使用したソースコードはTDD.NETから拝借したものですので、どなたでもダウンロード可能です。↓こちら。
http://www.tdd-net.jp/2009/08/tdd-winform-gui.html
イベントハンドラからロジックを分離していく過程が分かるようになっているため、教材として秀逸だと思います。

TDDのすごさやレガシーコート改善の難しさは体感してみないとなかなか分からないので、ぜひTDDBC大阪に行ってみてはいかがでしょーか。

質疑で感じたこと

「仕事でテストコードを書くようにしているが、テストコードを書くスキルにばらつきがあって難しい」という話がありました。まずテストコードに価値を見い出し現場で使おうと試みていることは、すんごいことだと思います。
今のところは個人のスキルレベルにとどまっているけど、実際に「プロジェクトや部署、社としてTDDなりテストコードを書きましょう」、ということをしようとすると、何らかの方法で最低限のスキルをメンバーに持ってもらう必要があります。
これって電話の取り方や最低限のプログラミングスキルを見につけましょうね、というのと同じ話でそういうのは新人研修でやってることです。

ってことは、テストコードを書くのも研修が必要なんじゃね?と思った。

TDDやレガシーコード改善も、そろそろ個人の趣味とかスキルってんじゃなくて、どうやって現場で使っていくか(最低限のスキルとか協力会社さんにお願いするときとか)を考える時期なんじゃないのか?と個人的には感じました。

ひどい発表だったのに建設的な議論ができて感謝しております。

VB.NET@VisualStudioでのリファクタリングツールについて

レガシーコードをテストで保護する際、テストコードを書けるようにする(レガシーコード改善で言う「継ぎ目」を作る)までは、テストコード無しでの作業を強いられます。
このときに重要なのがIDEのリファクタリング機能。コードを壊さずに作業するためには必須とも言える機能なんだけど、VB.NETには標準で付いていないのです。C#にはあるんだけどね。

なんてことを後日嘆いていたらtwitterで、CodeRush Expressというのを教えていただきました。
http://www.devexpress.com/Products/Visual_Studio_Add-in/CodeRushX/
こいつを入れると、VB.NETでも「メソッドの抽出」とかをできるようになります。おー、すばらしい(ただし英語)。がんばれVB.NET!