tddbc fukuoka 2013いってきますた。

最初にまとめ

TDDの本は「テスト駆動開発入門」って本を読んで、嫌いになったんだけど。
「いや、まだまだ僕はTDDの事を良く分かってないのかもしれない!」
とか思って参加したTDDBC in Fukuoka 2013。

わーい。きしださんがDisってくれたー!

そんなTDDBCでした。


きしださんのLTは、簡単に言うと
http://d.hatena.ne.jp/nowokay/20110827
エントリの内容に近いこといってました。

テストは先に書くべきか、あとに書くべきか。

やっぱり、実装が頭の中にあるときはテストを後に書きたいよねぇ。

1日目

Ruby + RSpecでテストかいたよー。gitで管理したよー。ペアプログラミングしたよー。
楽しかったです。(KONAMI

RSpecのパラメタライズドテストを覚えたぜー。

ペアプロは疲れるということが分かった。

飲み会

rubyは飽きたということと、Gaucheを宣伝してきました。

2日目

Objective-C+SenTestingKitでテスト書きました。
んでこれでちょっと詰まった。

STAssertEqualObjects([NSArray arrayWithObjects:@"1",nil],
            [NSArray arrayWithObjects:@"1",nil], 
                                  @"コンパイルエラー"); 

なぜかと言えば、STAssertEqualObjectsがマクロなんで、コンマがマクロの区切りで、マクロ展開したときに不適切な区切りになったかららしいです。

このように括弧で囲むと書けば、コンパイルは通ります。

STAssertEqualObjects( ([NSArray arrayWithObjects:@"1",nil]),
            ([NSArray arrayWithObjects:@"1",nil]), 
                                  @"Success!"); 

なんか、C言語Smalltalkの衝突を見た気がしました。

Objective-Cは、言語としてSmalltalkC言語が混在しているけど、思ったより混乱しないのよね。
ただCのマクロの記法と、Smalltalkのカンマ衝突していて、こういうコンパイルエラーを出すのがね。




ゆるゆるペアプロしていたので、1日目よりかは疲れなかった。その代わり課題が全然進まなかったけどな!

設計について教えるのが楽しかったですよ。あと、女の子とペアプロするのは楽しー。

LISP処理系を書くのは思ったより簡単な件

別のエントリにでもまとめるけど、LTで話した内容は後々のエントリに書きます。


主催者の@Spring_MTさん、講師の和田さん、共催のAIPさん、ありがとうございました。

追記1、ちょっとtddについての考察をしているので、そのエントリも後ほど公開したいと思っています。

追記2: 飲み会で聞かれたので、正規表現を使わないバリデーション書きますた。
http://nobkz.hatenadiary.jp/entry/2013/06/18/003431

追記3: 一つのtddについて考察を書きますた。
http://nobkz.hatenadiary.jp/entry/2013/06/19/121204


追記4: 記事にいろいろ追加しますた。

追記5: Emacsについても話題になったので記事を書きました。
http://nobkz.hatenadiary.jp/entry/2013/06/20/163632