「チェスタートンのフェンス」という言葉を知って

「チェスタートンのフェンス」という言葉を知っての画像

使い勝手がよさそうな言葉

こんにちは、本ブログ記載主のトーターです。

最近いろいろと記事を読んだり論説を読んだりしていまして、「チェスタートンのフェンス」という言葉を見かけました。

この言葉、私は知らなかったのでネットで調べてみましたところ、
「なぜフェンスが建てられたのかわかるまで、決してフェンスをとりはずしてはならない」
という意味の、チェスタートンという小説家が残した警句だそうです。

「フェンスは地面から生えてきたわけでもなく、狂った人々が建てたわけでもないため、フェンスを建てた人たちは『こうしたほうが良い』と思うだけの理由があったはず」
という説明もありました。

事情を知らない者が、「邪魔だから」という理由で既設のフェンスを取り除いたりすると、想定しえなかった不利益が降ってくる可能性があるということを示しているのですね。

なるほどなるほど、思いつくケースは沢山あります。
結構使い勝手がよさそうな言葉ですね。

プログラマーが思いつくこと

IT業界で仕事をしている私がすぐに思いつきますのは、プログラムの記述に関することです。

今は機会が減りましたが、若い頃はプログラムを沢山書いていまして、その際に既存のプログラム(他人が書いたもの)を見て
「なぜこのプログラムはこの順番で書かれているのか」
「なぜこのような処理がここにあるのか」

のように不思議に思うことが何度も何度もありました。

で、「プログラム内のこの処理は不要に思えるから削除しよう」と思って削除してみると、思いもよらぬ誤動作が起きたりするのです。

そうなるとその部分を削除するわけには行かず、残すしかないのですが、その後も結局最後までその処理部分にどんな意味があるのかわからず仕舞いだった…ということもありました。

こういうケースは私だけでなく、大多数の人が経験しているはずでして、このような背景から「わからない部分はそのままにしておいて、わかる部分だけでなんとかする」というのがプログラマーほぼ全員に共通するスタンスになっているかもしれません。

説明があればよさそう

これによって負のループのようなものが発生し、プルグラムはどんどん汚くなっていくのですが、この流れを止める手段というのがあるにはありまして、「なぜこのような記述になっているか、ここは何をしている処理か」の説明文を書いておけば良いのです。
プログラムを書いた当人が。プログラム内に。

無味乾燥なプログラム記述だけだとわからないことも、人間が他人に理解させようとして書いた説明文(コメントと言います)があればわかるはずです。

まあというわけで、プログラマーの世界ではコメントを書くことを超絶推奨されているのですが、理想と現実には乖離がありますのでなかなか難しいところではあります。

理由を後世に残す

チェスタートンのフェンスが一旦完成してしまうと、後は後世の人たちが頭を悩ませてなんとかするしかないのですが、事前策としましては先ほどのプログラムの例のように「なぜこれがこうなっているのかを記録しておく」のが大変有効な気がします。

複雑な社内ルールとか、学校の校則とかもそうですね。
経緯を知る人たちがいなくなってもいいように、それが存在する理由を何処かに記しておくのが良さそうです。

…なんてことを考える、今日この頃でした。

それではまた。