→ TDD Boot Camp(TDDBC) - TDDBC仙台03/課題
→ TDD Boot Camp(TDDBC) - TDDBC仙台03/課題用語集
→ TDDBC 仙台 the 3rd #tddbc のまとめ - Togetterまとめ
去年の感想はこちら。→ TDDBC(TDD Boot Camp)仙台02に参加してきた - marsのメモ
またの名を「 @i_takehiro無双レビュー大会」。今年もTA(Teaching Assistant)枠で参加したんですが、普通に一般参加者としてペアプロしてました。実を言うと受講者枠で参加したのは今回が初めて、TAだったのキレイさっぱり忘れてTDDBCを楽しませて頂きました。
毎度の事ながら主催およびスタッフのみなさん、一般参加された方々、おつかれさまでした&ありがとうございました。
基調講演 in 杜王町
3年続けて同じ事言ってた。
あの星はジョースター家の星だな。 #tddbc
あの星はジョースター家の証! #tddbc
ちなみにさっきの「キレイ」で「動く」コードの星はジョースター家の星ってのは豆な。|qω・`)チラッ #tddbc
ペアプロのデモ
@i_takehiroと @leecomという鬼軍曹×新兵コンビによる @leecom公開処刑劇場。leecomお疲れ様ッ!!
個人的には、Java+Eclipseのライブデモは定番過ぎるのでは、たまには他の言語やIDEのパターンも見てみたいなと。
ブートキャンプ実施
課題は「整数の区間」。今回TAやってないんでコードレビューんときの発表内容からの推測なんだけど、チーム訳と開発環境はこんな感じだった(去年に続きNetBeansはゼロ!)。
#1 | Java | Eclipse | JUnit4 | hamcrest使用 |
#2 | Java | Eclipse | JUnit4 | hamcrest使用 |
#3 | Python | PyCham | pytest | |
#4 | Python | ? | ? | |
#5 | Groovy | Eclipse | Spock | プロダクトコードはJava |
#6 | Groovy | IntelliJ | Spock | プロダクトコードはGroovy→Kotlin |
#7 | Objective-C | Xcode | ? | |
#8 | Ruby | Sublime Text | rspec | |
#9 | PHP | vim | phpunit | 途中までEC2で開発してたらしい |
#10 | C# | Visual Studio | ? |
去年は6組で半分はJava+Eclipse組だった事を思うと、今年の組み合わせは多彩だなぁと。あとMacBook率が高かった印象ある。この1年でなにがあったんだ?と思うほどの変化で隔世の感がありますなぁ。
ちなみに私は #6 のGroovyペアで参加してました。開発環境どうしようかってペアの方と話をしていたら「実はIntelliJ興味あるんです」とおっしゃっていたので『じゃあ、Community版でいいのでダウンロードしといてください』と。普段からGrailsやSpock使っているようで「正直TA要らないな」というレベルの方でしたので「IntelliJ接待モード」でどっちか言うとIntelliJの使い方をナビゲートしてました。:-)
#こちらはこちらでSpockの使い方教えてもらって大変ありがたかったです。
1回目のコードレビューで一段落した頃に、今度は「ちょっとKotlin使ってみたいんですよ」とおっしゃるので『じゃあ、プラグイン入れますか』と。Kotlinのテスティングフレームワークに心当たりが無かったので、テストコードはSpockのままプロダクトコードをGroovyからKotlinに差し替えてました。
みんなが課題を進める中、なぜかウチのペアは「言語をより良い(?)ものに変える」という大胆なリファクタリングを行っていたわけです。Kotlinの流儀はよくわかってないけど、ちょっとでもKotlinかじってたおかげて挫折すること無く、基本の課題はすべてクリアすることができました。
他のペアでも見かけましたが、ウチのペアは課題開始時点からGithubにプロジェクトを作り、PCを共有してペアを交代するのではなく、ペア交代のたびにcommit & push, pull & mergeをしてコードを共有してました。去年、TAやってたとき、みんなバージョニングしないでどんどん課題を進めていくのがスゴく気になっていただけに、今回半分くらいはGithubを使ってたみたいで、またしても隔世の感をひとり噛みしめたのでありました。
Githubのプロジェクトはこちらです。→ masanobuimai/groovy_spock ? GitHub
二人ともIntelliJを使っていたので、ビルドスクリプトなどは作らずIntelliJのプロジェクト管理情報ごと共有してました。実はそこに密かな企みがあって、IntelliJでチーム開発する機会なんて滅多にないので、普通にこの辺を共有するどどんな感じなるのか体験させてもらいました(おかげで良いネタ仕込ませて頂きましたよ。
コードレビュー大会
これが全てを物語っとりますわ。
今日知った事。井上イヤーはSSDでもアクセス音からコンパイルエラーが起きたことに気づく。井上アイはRetinaディスプレイに表示した4×4dotsフォントのソースコードからバグを見つける。 #tddbc
井上TAが背中に立った時、コードに「バグがあるかも」なんて思わねえ。井上TAが近づいた時にはすでにバグっているからだッ!『バグった』なら使っていいッ!! #tddbc #奇妙なTDD
(追記)これでおわかりいただけだろうか。
ギャー(´Д`;) RT @i_takehiro: isConnectedTo のテスト、2|9|1|10|true だとredにナリマスネ #遅延コードレビュー RT @masanobuimai: ブログった。 #tddbcURL
\シアーハートアタック!!!/
所感
KPTの問題点「女の子ゼロ」。・゜・(ノД`)・゜・。 #tddbc
実際にコード書くとなおさら実感するんだけど、仕事で作るコードはJavaじゃないほうが良くないか?と改めて思った(特にJVM系)。Groovyは柔らか過ぎるけどテストコードだったら別にいいんじゃないかとか(SpockはGroovyと言って良いのか疑問は残るけどw)。Kotlinはマイナー過ぎるやろ、というならScalaだってあるし。
なにより、JavaもScalaもKotlinもGroovyもまぜこぜにしたってちゃんと開発できるんだから。
そうIntelliJならね。(・ω<)
何気にJetBrains改宗の会と化してる。( -言- )ククク・・ #tddbc