『WEB+DB PRESS総集編[Vol.1~102]』内、コラム記事より一部転載
ソフトウェア開発を生業にする方々へ、役に立つかもしれない言葉を紹介するコラムです。ここでは、「PEBKAC」「チェスタトンのフェンス」を取り上げます。
これは「Problem Exists Between Keyboard And Chair」の頭文字をとったもので、「問題はキーボードと椅子の間に存在する」ということ。つまり、人間の問題という意味です。婉曲表現と言うか、ユーモア表現の類ですね。
ソフトウェアが思うように動かないと、バグだ! 壊れてる! と思ってしまいがちですが、実は、ただ単に当人が使い方を間違っていた、ということは多いものです。とくに、開発者向けのツールはエラーメッセージなどが不親切なものが多く、PEBKAC(ユーザーエラー)が発生しやすいと思います。良いソフトウェアの条件の一つに、PEBKACが少ないということが挙げられるでしょう。
この言葉は「なぜそれが存在するのか、理解するまではコードを削ったり変更したりしてはだめですよ」という文脈で使われます。語源は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エンジニアによる総集編スペシャルエッセイもお届け!