« ソフトウエア開発の「空洞化」 | トップページ | 自分色に染めてしまいたい衝動 »

2006年9月21日 (木)

jMockを使うとより「文芸的プログラミング」になる?

Javaのユニットテストを書く際、jMock を使うと、より「文芸的」でコードが読みやすくなるよ("the code more literate")、という記事のようですが。

We can use constraints to construct more flexible assertions.

assertThat(a, eq("3"));

is more readable and understandable than

assertEquals("3", a);

Tom White's Blog: Literate Programming with jMock

パッと見て、下の方がわかりやすいと思ってしまいました...
JUnitでは、下の例が「通例」ですので、「見慣れている」から「わかりやすい」と感じたのでしょうかね。

英語の構文としては、上の方がより「自然」なんですね。下の"assertEquals"ですと、動詞のassertとequalが連続しているので、英文として不自然で、上の"assertThat"は、動詞("assert")+関係代名詞("that")+主語("a")+動詞("eq")+目的語("3")の順に並ぶので、自然だということのようです。

でも、これは日本人には微妙ですねえ。プログラミング言語を「英語」だと認識している人って、あまりいないような気がします。プログラミング言語は、あくまでプログラミング言語として見ているような。あるいは「暗号」の一種として。

まてよ、むしろ、日本語として読むと下の方が自然なのかしら。「aは"3"に等しいと表明する」だから、下の"assertEquals"の例を逆順に読むと、日本語の語順になるような...

ちなみに、ハンガリー語の文法は日本語と非常に類似しているそうで。ハンガリー語は、「ハンガリアン記法」の例にあるように、英語圏の人間にとっては、「読みにくい」の代名詞。でも、日本人には、その方が読みやすいという話なのでしょうかねえ。

|

« ソフトウエア開発の「空洞化」 | トップページ | 自分色に染めてしまいたい衝動 »

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



« ソフトウエア開発の「空洞化」 | トップページ | 自分色に染めてしまいたい衝動 »