プロダクトコードとテストコードを別の言語で書く
先日のTDDBC 福岡2のディスカッションの中でそういう話が出た。
最近そういう議論があるらしい。
テストコードは最初のサンプルコードであるべきという従来の考え方がある一方で、メンテナンス性などを考えると短く気持ちよく書ける言語でテストコードを書くメリットも捨てがたいみたいな。
この議論に関しては次のリンクが参考になる。
RSpecは独自のDSLがもはや普通のRubyからかけ離れていると言われているけど、一応サンプルコードとして成立するコードは含むので、サンプルコードでもあり気持ちよくも書けるいいとこ取りの環境なんじゃないかな。
サンプルコードとして成立しないテストコードは、使い勝手が悪かったり使い物にならないプロダクトコードを生んでしまいかねない危険性というか落とし穴があるので、別言語で書く場合そのあたりに気をつける必要はあると思う。
以下はその極端な例として。
コレはさすがに宴会芸だった。