プログラマが知るべき97のこと/見られて恥ずかしいデータは使わないこと

夜遅くのことでした。私はページレイアウトのテストのため、サンプルデータを入力していました。

ユーザ名には、英国のパンクロックバンド、ザ・クラッシュのメンバーの名前を使いました。会社名には、同じく英国のパンクロックバンド、セックス・ピストルスの曲名を使いました。あとはティッカーシンボルを入れるだけです。そこで私は、卑狼な4文字の言葉を大文字で入れることにしたのです。

そう、皆さんご存知の、"F"で始まる言葉なんかを使ったわけです。

特に問題はないだろうと思っていました。自分や他のプログラマが面白がって見るだけのものだし、どうせ翌日には「本物」のデータソースに人れ替えることになっていたからです。ところが翌朝、プロジェクトマネージャが件の4文字言葉の表示されている画面のスクリーンショットをとり、あるプレゼンに使ってしまったのです。

プログラミング中の、この種の「いたずら」や「武労伝」はよくある話です。「まあ誰も見ないのだから」と油断していると、思いがけず多くの人の自に触れてしまうことがあるのです。

露呈の仕方は様々ですが、いずれにしろ珍しいことではありません。しかし、関わったプログラマ個人や、開発チーム、あるいは会社全体にとっては命取りになりかねません。どんなパターンがあり得るか、例をいくつかあげておきましょう。

  • 進捗会議中、まだ機能が実装されていないボタンを顧客がクリックしてしまう。すると「二度とクリックすんじゃねーぞ、バーカ!」というメッセージが表示される。
  • レガシーシステムの保守を担当するプログラマが、エラーダイアログの追加を指示される。そこで彼は、既存のログ機能の出力を利用しようと考える。しかし、元々は裏で動いていて出力がユーザの目に触れることはなかったログ機能だったために、保守作業によって「おい、バットマン、データベースのクソ野郎がヘマをしやがったぜ!」といったメッセージが画面に表示され、ユーザから見えるようになってしまう。
  • 誰かが、テスト用の管理インタフェースと、製品版の管理インタフェースを混同してしまい、ふざけたデータを入力してしまう。その結果、オンラインストアの顧客が、「等身大ビル・ゲイツ型マッサージロボット、価格100 万ドル」といった商品が売られているのを目にすることになる。

「好事門を出でず、悪事千里を走る」というのは古くから言われることです。今の時代なら、なおさらそうでしょう。誰かの「あら」が見つかれば、その噂は、Digg、Twitter、Flib-flarbなどにより、あっという間に世界中に広まってしまいます。担当者が寝ている間に、タイムゾーンの違う国に広まってしまえば、何も手を打つことはできないでしょう。

ソースコードの中でさえ、まったく安心とは言えません。2004年にはWindows 2000のソースコードのTARアーカイブがファイル共有ネットワークに流出しています。その時は、ソースコードに卑猿な言葉、ふざけた言葉が使われていないか、grepで嬉々として調べている人間が大勢いました(実を言えば、その時に発見された​// TERRIBlE HORRIBLE NO GOOD VERY BAD HACK​「実に実にひどい、まったく良いところのない、最悪のハッキングだ」というコメントを私は気に入ってしまい、以来、何度か使ってしまっています・・・)。

要するに、コードに何かテキストを入力する時は(コメントであれ、あるいはログ、ダイアログ、テストデータであれ)常に「これがもし公になったとして問題にならないか」と自問せよ、ということです。そうすれば、突然、卑狼な言葉が大写しになり、その場にいる全員が赤面するというような事態は防げます。