2007年2月 6日

デバッグに使えるサスペンス用語 - 学校では教えてくれないバッドノウハウ英語 #7

学校では教えてくれないバッドノウハウ英語の7回は、"post-mortem", "tombstone", "culprit" を取り上げたいと思います。いずれもデバッグに関する議論で使える表現です。

 
"post-mortem", "tombstone", "culprit" の通常の意味はそれぞれ「検死」「墓石」「容疑者」です。どれもサスペンス映画に登場するような言葉ですが、ソフトウェア開でも、デバッグという一種のサスペンスの場面で使われます。

"post-mortem" は、プログラムの検死、すなわち、プログラムがなぜ死んだのかを原因調査すること、または調査結果を意味します。

例)
We should perform a post-mortem analysis to make sure this doesn’t happen again.
二度とこれが起きないように事後解析をしないと。

I'll be sending out mail with a brief post-mortem after this is fixed.
これが直ったら簡単な検死レポートをメールで送っとくよ。

"tombstone" はプログラムが死んだときに残すもの (メッセージなど)、あるいは、死んだオブジェクトの印、といった意味で用いられます。

例)
Do you have a tombstone in the error log?
エラーログのなかに死んだときの何か残ってない?

We just leave a tombstone to mark the entry as deleted instead of deleting it.
実際に消す代わりに、エントリを消した印として墓石でも置いとくよ。

"culprit" はバグの容疑者、つまり、バグを引き起こしたと思われる原因を指して使われます。容疑者ではなく犯人の意味でも用いられます。

例)
I don't know Python, but this looks like a culprit.
Python はわからんけど、たぶんこれが原因だと思うよ。

I've finally found the culprit. It was the comma after the last property in the object.
ついに犯人を見つけたぞ。オブジェクトの一番最後のプロパティの後ろのカンマだったよ。

デバッグという作業は、少ない手がかりから犯人を見つける刑事の仕事のような趣がどことなくあります。今回紹介した表現はそんな気分を盛り上げるのに役立つかもしれません。真の犯人は自分だった、という結末を迎える場合が多いのですが。