仕事で役立つかもしれない用語講座

『WEB+DB PRESS総集編[Vol.1~102⁠⁠』内、コラム記事より一部転載

ソフトウェア開発を生業なりわいにする方々へ、役に立つかもしれない言葉を紹介するコラムです。ここでは、⁠PEBKAC」⁠チェスタトンのフェンス」を取り上げます。

PEBKAC ……Problem Exists Between Keyboard And Chair

これは「Problem Exists Between Keyboard And Chair」の頭文字をとったもので、⁠問題はキーボードと椅子の間に存在する」ということ。つまり、人間の問題という意味です。婉曲表現と言うか、ユーモア表現の類ですね。

ソフトウェアが思うように動かないと、バグだ! 壊れてる! と思ってしまいがちですが、実は、ただ単に当人が使い方を間違っていた、ということは多いものです。とくに、開発者向けのツールはエラーメッセージなどが不親切なものが多く、PEBKAC(ユーザーエラー)が発生しやすいと思います。良いソフトウェアの条件の一つに、PEBKACが少ないということが挙げられるでしょう。

チェスタトンのフェンス ……Chesterton's fence

この言葉は「なぜそれが存在するのか、理解するまではコードを削ったり変更したりしてはだめですよ」という文脈で使われます。語源はG. K. Chestertonによる『The Thing: Why I am a Catholic』中の、こんな話から由来しています。

仮に、フェンスが道路に置いてあったとする。ある人は「なぜこんなものが存在するかわからないから、片付けてしまおう」と言うかもしれない。しかし、もっと賢い人ならこう言うだろう。⁠存在する理由がわからないなら、それをあなたに片付けさせるわけにはいかない。よく考えてみて、もし理由がわかったら、戻ってきてください。それを破壊してもよいと許可するかもしれないから」

これをコードの話になぞらえて、意味がわからないようなコードでも、それが足されたときにはきっと何か理由があったはずですから、無闇に削ったり変更したりしないで、まずは、そのコードが存在する理由を理解しましょう、ということですね。適宜コメントを残すようにすると、チェスタトンのフェンスの発生を防げて良いと思います。

バックナンバー記事PDFを満載したDVD

好評をいただいたVol.100記念号を収録した『WEB+DB PRESS』の総集編。
付属DVD(+パスコードでダウンロードも可能)にはVol.1~102のPDFに加え、既刊の総集編に掲載した書き下ろし記事のPDFも一挙収録。
合わせて、7名のTOPエンジニアによる総集編スペシャルエッセイもお届け!