Hatena::ブログ(Diary)

下目黒で Scala で x86_64アセンブラを勉強しつつコンパイラを作る日記

2012-02-11 テストを楽しく書くには?

妄想を書いた物。それがテストだ!

今年は汚くても、ゴリゴリ実装するのだ。

テストもちゃんと書く。泥臭くても書く。

でも出来れば、テストを楽しく書きたい。

なんとか進まねばならない!でもやりたくない。

うじうじ悩む中、とにかくTODOリストを作る。

どうも、インタプリタでまだ、無い機能の実装が必要だと分かる。

また、配列や色々な型も導入しないと行けなさそうと考える。

で、次に進むにはせっかく考えたのだからそれをアウトプットしないといけない。ちょうどテストを書こうとしてたところだし、テストだけ先に書いちゃえばいいじゃん。

ってことで、こんなコードを動くようにしたい。

って考えて、テストだけ書いた。テスト最初から正しくなくてもいい。こんな事が出来るようにしようとしたものを書く。それが楽しいテストファースト精神だ。

とにかく、コンパイラじゃなくてインタプリタにwhileとかforとかswitchの構文(syntax)を入れるようにしたいって書く。実装無くていいので楽しいJavaみたいに名前付きでbreakやcontinueも出来るといいよなって思ってテスト書く。楽しい未来自分に実装させればいいのだから楽だ。

で、インタプリタに実装して、実装出来た。

おおー。テストが間違えてるから直して、インタプリタも直して通ったー。すばらしー。

という事が出来た。

次はコンパイラに色んな型を入れて配列も入れてポインタも入れる感じのことを無理矢理でもやって乗り越える。

その為のテストを書こうと思えど、なんか想像がつかない。付かないから嫌な感じがする。けど、書いてみれば、思ったほど難しくないって気がつくのかもしれない。

でも、問題はコンパイルして結果を標準入力から読み込んで比較しないと行けないとかそういうところが問題なのかもしれない。

ふー。