2013年7月20日土曜日

『JUnit実践入門』写経・実践会 in 横浜 #8 (最終回) に参加してきました #junitbook

『JUnit実践入門』写経・実践会 in 横浜 #8 (最終回) #junitbook
http://connpass.com/event/2590/

2013/07/06 『JUnit実践入門』写経・実践会 in 横浜 #8 (最終回) #junitbook
http://togetter.com/li/529598

はじめに

今回は最終回ということで、書籍全体を通してのディスカッションとTDD/ペアプロ実践が内容でした。

最終回

ディスカッションでは、会社で行なっている新人研修でこの書籍を用いてやっているので、その内容についてと個人的な見解を話すことが出来ました。
主な内容については、Javaの研修が終わった新人に対してこの書籍を利用して、JUnitを利用してどうやってユニットテストを書いていけばよいのかを話しました。
この書籍にはサンプルが公開レポジトリに掲載されていますので、これを解答として行き着く手順をこの会で得られた経験も併せて説明しました。
実際にコードを書いてもらってmavenで動かしてみて確認しながら進めて行き方は、評判も良かったように感じました。

最終回ということで、これまでの参加レポートを列挙してみます。


#1には@kyon_mmさんが、#3には@t_wadaさんが、#6には@irofさん、著者の@shuji_w6eさんがゲストとして参加してくださいました。

個人的に印象に残った回を挙げるとすれば、やはり#6の特別編を挙げたいと思います。
cucumberとseleniumを組み合わせることで、ここまで振る舞いをテストが出来るんだよというのが実際に手を動かすことで実感できました。
そのおかげでGebを用いてSpockで似たようなことが出来るようになりました。

おわりに

今回で、この写経・実践会も終わりとなりました。
この本が出た後の半年で自分自身多くのことを学ぶ事ができました。
それもこれもこの会があったおかげだと思います。
書籍は積読では何も身につかないので、こういった会に参加することで他の方が実践している経験や知見を学ぶことが出来る事を実感出来ました。
他にもまだ読んでいない本があるので読書会が開催されていたら、積極的に参加してみたいと思います。



主催の@shinyaa31さん、参加者の皆さん、会場の横浜タネマキさん、ありがとうございました。

2013年7月3日水曜日

Javaで実践するリーダブルコード ぷらす に参加してきました #readablecode

Javaで実践するリーダブルコード ぷらす
http://atnd.org/event/E0016341/0

はじめに

アジャイルサムライ横浜道場でお世話になっている@terahide27さんが主催されるということで、なにかお手伝いできることはないかと考え、スタッフとして参加しようと思いお願いしてみたところ承諾を得ることが出来ました。

リーダブルコード自体は購入直後に読んでおり、出来る限りプロジェクトに反映できるよう努力していました。



当日は、多くの人に集まってもらえたのはとてもありがたいと思うのと同時に、出来る限り良い経験をしてもらえるようにしたいと思いました。

ハンズオン

今回のハンズオンでは、ペア毎にお題を含めどのように進めていくのかなどを決めてもらいました。
全てのペアが提案されたボーリングのお題をやっていましたが、リファクタリングを重視しダメなコードから始めたり、初めからTDDで行なっていたりと進めて行き方はバラバラでした。


印象に残ったのは、手続き型でprimitiveな型しか使わないダメなコードから始めたペアは、どこもスペアの実装しようとした時点で破綻していた事でした。

最終的にコードレビューの時間でその違いがはっきりしてました。
途中からリファクタリングを始めたペアは、何とかして綺麗なコードにしようとしたが時間が足りず、修正に手一杯で名前を変える余裕が無かった様に感じました。
初めからリーダブルコードの内容を意識して書くことでリファクタリングやユニットテストのしやすいコードになっていくのではないかと思いました。

JUnitの使い方も経験によってばらつきが見られ、慣れていないとどのように書いたら良いのか分からなかったり、使い方そのものを知らなかったりと様々でした。
JUnit実践入門が出版されたおかげで始めるキッカケが出来たと思うので、これを機会に読みやすいコードにしていく為にもJUnitをどう使えばいいのか知ってもらえればいいなと思いました。

テストを全く書かなかったペアが最後になってテストを書いて実行してみたら、間違った結果を返したまま時間切れになったのを見かけ、やはり実装を確認しながら開発するのは大切なことだと感じました。

おわりに

TDDBC Tokyo 2013-07が開催される前にTAとして良い経験をさせて頂きました。
上手くお手伝いできたか不安ではありますが、参加者の皆様が今回の経験を活かして現場でも読みやすいコードを残していってもらえれば幸いです。

主催の@terahide27さん、スタッフの皆様、参加者の皆様、会場を提供して下さった株式会社アクシスウェア様、ありがとうございました。