デイビッド・ビーズリーのユニットテストで魚が死んだ話。
自称ファンクラブ(非公式)を宣言して以来、やっぱりほぼほったらかしになりましたが、ビーズリー節炸裂な面白いツイートがあったので紹介して、ファンクラブの活動のアリバイ作り。
Water testing strips indicate all is well. All fish are dead. Stupid testing. Why even bother? More like Test Driven Death really.
— David Beazley (@dabeaz) January 2, 2016
なんか魚を飼っていたらしいデイビッド曰く:
「水槽の水質検査紙が言うには全く問題なしらしいが、魚は全部死んでいる。バカげたテストだよ。 なんでテストなんか気にする必要があるってんだ。これじゃテストしたせいで魚が死んだみたいだよ、ほんとに。」
というボヤキが入ります。
ここでいうテストという言葉は二重の意味があってなんかプログラミングしているときに規模が大きくなってくるとユニットテストとかコードがちゃんと動作しているのかテストするためのコードを書いたりするのがよいということになっています。でもちゃんとしたテストなんか書くのはめんどいし、効果がほんとにあるのかはケースバイケースだったりで、懐疑的な人も多い。でも、教科書的なというか教義的にテストの重要性を強調するようなトークとかPyConとか行くとよくあったりするわけです。
耳にタコができるくらいテストの重要性を聞かされるので、コアなプログラマーはテストという言葉に敏感なんですね。それで水質検査のテストが全く意味を成さないのを皮肉っているわけです。
そうするとフォロワーさんたちが悪乗りしてきて、
@palendae @dabeaz I checked in my tank and they’re fine. Have you upgraded your testing environment recently?
— Filip Salomonsson (@filip) January 2, 2016
「テストが通ったんだったら魚が死ぬ方がおかしいよ。」
とか、
「うちの水槽を確認したけど魚大丈夫だよ。テスト環境を最新にしているかい?」
とか会社とかでチームでコーディングしている状況で実際にありそうな返事でボケてきます。
@filip @dabeaz Pet stores should use the docker model - you don't just buy fish, you buy the whole aquarium, that way there is no difference
— Nolan Brubaker (@palendae) January 2, 2016
茶々入れは更に続き、
「ペットショップはDockerを使わないと駄目だね。ただ魚を売るんじゃなくって、水槽も一切合切全部の環境を売る。そうすれば差異がなくなるのに。」
とか最近はやりのDockerを絡めてきます。ボケにボケで返すわけですね。
DockerというのはLinuxの環境をGitみたいにコミットできるあれですね。Python2.5で動くプログラムを最新のUbuntuで動かしたらPythonが3だったとか2.7.9だったとかで動かないみたいな問題を解決するためプログラムの動作環境そのものをパッケージ化してバージョン管理してしまう。
No kids, Mr. Pleco is just resting on the bottom there. Pining for the Fjords.
— David Beazley (@dabeaz) January 2, 2016
ときて、魚にはPlecoさんという名前をつけていた魚は水槽の底で動かない。
@infixum Nah, the kids are enjoying getting to flush them in the toilet.
— David Beazley (@dabeaz) January 2, 2016
度々ツイートに出てくるデイビッドの子供は死んだ魚をトイレに流すのに興奮状態。
Should anyone be wondering, pretty sure the aquarium got hit with a case of Ich. The whole thing is pretty much wiped out.
— David Beazley (@dabeaz) January 2, 2016
a case of ichってなんじゃ?とおもったら、おそらく感染症の一種っぽいです。黄色い斑点が魚の体表にできるらしいです。
というわけで感染症で魚が全滅してしまったのではないかという感じ。
真面目な話、水質検査のスティックでテストできるのはせいぜいpHとか重金属の汚染度とかくらいだと思うので、細菌に感染してた場合はテストはパスしてしまうでしょうから、やっぱり細菌とかが怪しいですね。
まあ、とりとめのないやりとりですが、いたずら好きな少年のようなやりとりがいかにもビーズリー節ですね。面白さが伝えきれたかは自信なし。
デイビッド節がお気に召された方は、ぜひPyCon2012でデイビッドが行ったPyPyについてのトーク「Let’s talk about something diabolical」がとっても面白いので御覧ください。このトークがファンになったきっかけです。この人はdiabolicalという単語が大好きで、よく使います。