2011年2月7日

「やる夫で学ぶTDD」 四日目 CSVParserで学ぶ実践TDD #ytdd

某SIerで if(true == false) のような神コードのインスペクションで廃人化しているやらない夫こと太田先生の「やる夫で学ぶTDD」四日目です。 今回は、リアルペアプロを基にしたやりとり。
6
Kenichiro Ota @oota_ken

今日は一人でやる夫しようと思いましたが、後輩の @ioki 君がTDDペアプロ付き合ってくれると今決まったのでw 只今、彼の所へ出発します。自転車乗らないけどまあいいか。いい漢をもったものだ。例題は通貨で行く。USTEAMとかできるかな?

2011-02-06 15:01:02
Kenichiro Ota @oota_ken

今まで、ペアプロしたことないので、実はこれでできてよかったーwww

2011-02-06 15:01:29
Kenichiro Ota @oota_ken

このその場で決めてしまうめちゃくちゃ感がアジャイルか!違うような気もするけど・・・

2011-02-06 15:02:22
Kenichiro Ota @oota_ken

@ioki 君がいる東工大の千葉先生の研究室でこれからTDDペアプロやる夫!

2011-02-06 16:25:40
Kenichiro Ota @oota_ken

やる夫で学ぶTDD 4日目 CSVParserで学ぶ実践TDD #ytdd

2011-02-06 23:41:34
Kenichiro Ota @oota_ken

やる夫:やらない夫ー、やらない夫ー、ずっとチャットにいなかったけど何していたんだおー。 #ytdd

2011-02-06 23:41:41
Kenichiro Ota @oota_ken

やらない夫:今日は、やらない夫の後輩にして未踏プログラマの @ioki 君とリアル世界でペアプロTDDをしてきたのだ。 #ytdd

2011-02-06 23:41:48
Kenichiro Ota @oota_ken

やらない夫:最初は、TDD本の複数通貨の例をやろうとしたのだが、例が簡単すぎてもっともシンプルな実装だと、一瞬で終わってしまったので、CSVParesrに切り替えた。 #ytdd

2011-02-06 23:41:56
Kenichiro Ota @oota_ken

やらない夫:現実のCSVファイルはちょっと難しいので、現実のCVSファイルから""(ダブルクオーテーション)内での改行の仕様のみを除いたものに対してパースしたものを二次元配列で返すとした。 #ytdd

2011-02-06 23:42:07
Kenichiro Ota @oota_ken

やらない夫:テストコード自体では各1一行を渡して、Stringの1次元配列で返す仕様だ。 #ytdd

2011-02-06 23:42:15
Kenichiro Ota @oota_ken

やる夫:やらない夫もコードを書いたのかお? #ytdd

2011-02-06 23:42:22
Kenichiro Ota @oota_ken

やらない夫:実はペアプロ初めてだったので、突込み係だw 雰囲気を教えてもらったところも大きいな。 #ytdd

2011-02-06 23:42:30
Kenichiro Ota @oota_ken

やらない夫:今回そのダイジェストとやる夫とやってみることにしないか? #ytdd

2011-02-06 23:42:40
Kenichiro Ota @oota_ken

やる夫:CSVファイルのパーサとか難しそうだお・・・ #ytdd

2011-02-06 23:42:46
Kenichiro Ota @oota_ken

やらない夫:まあ、そういわずに、文字のパースでは必ず状態遷移を持つので、オブジェクト指向のメリットを出せてまさにオブジェクト指向とTDDにうってつけなんだ。 #ytdd

2011-02-06 23:42:52
Kenichiro Ota @oota_ken

やる夫:分かったお。では、まずテストコードから行くかお。 #ytdd

2011-02-06 23:42:57
Kenichiro Ota @oota_ken

やる夫:List<String> ls=csvParser.parse("a,b,c");かお! #ytdd

2011-02-06 23:43:05
Kenichiro Ota @oota_ken

やる夫:String.splitで一発だお。 #ytdd

2011-02-06 23:43:59
Kenichiro Ota @oota_ken

やらない夫:今回は実践編だから、実戦らしく行くけど、実はSpring.splitによる実装は結果として捨てるということが仕様上見えている。 #ytdd

2011-02-06 23:44:09
Kenichiro Ota @oota_ken

やる夫:ど、どういうことだお。 #ytdd

2011-02-06 23:44:15
Kenichiro Ota @oota_ken

やらない夫:これはCSVファイルのフォーマットの仕様が決まっているのと、事前にテストケースの分析をすることによって、String.splitの実装が無効であることが分かるからだ。 #ytdd

2011-02-06 23:44:22
Kenichiro Ota @oota_ken

やらない夫:CSVファイルでは、"a,", b, cと値自体に「,」を含むものを、「”」でくくって表現する。したがって、直接「,」でsplitしてもうまくいかない。 #ytdd

2011-02-06 23:44:28
Kenichiro Ota @oota_ken

やる夫:はやく、それを言うんだお!やらない夫、他にも秘密隠してそうだお! #ytdd

2011-02-06 23:44:34
Kenichiro Ota @oota_ken

やらない夫:残念ながら、そうだ。事前にテストケースを記述してしまうおうか。 #ytdd

2011-02-06 23:44:39
1 ・・ 4 次へ

コメント

コメントがまだありません。感想を最初に伝えてみませんか?