XXXXfileってなんだという疑問

以前会社勤めの頃、同僚のデザイナーにRailsの環境構築について教えていた時に、「Gemfileってなに?」と聞かれ、「〜〜こういうことするのに使うファイルなんだよ」って言ったところ、ウーン。と呟きながらこう返された。

「なんでGemfileって名前なの?」

おー、あー、その視点はなかったなぁ。そういうところが気になるかー。

その時どうか教えたか、覚えてないけれど、ざっくりとRubyとGem等の関係性と、Bundler等々の役割などをおしえつつ、UnixではXXXfileという設定ファイルの名称が慣習的に使われてるという話をしたと思う。

おそらく、Makefileからの流れだろうけど、Rakefile、Gemfile、Capfile、Guardfile、Vagrantfile、Dockerfile、Brewfile などなど、最近のコマンドライン系のツール、とくにタスクランナーのようなタスクを実行する手順を書いておくファイルにXXXXfileというファイル名になってることが多い。

そういえば明文化されたのを見たことがないなー。特に理由はないんだろうけど、そういう空気感なのかなぁ。それともなにかスタイルガイドのようなものがあるんだろうか。 最近色々なものの自動化が盛り上がってるからどんどん増えてる気がするが。

そもそも、こういう慣習的な部分は、エンジニアなら初めてそのファイル群を見た時に、「これが設定ファイルだな」と分かるものの、そうでない人たちにはわからないかもなぁ。.(ドット)ファイルなどもそうかもねぇ。

エンジニアはわりとこういうパターン化するのが好きかもしれない。そういえば、一時期はやったxxxx-users.jpみたいなのもあったなぁ。rubyなんかは誰取ったんでしょうねアレ(リンクを貼らない)