ちょっと真面目な話。不真面目な方のネーミングセンスの方は別の機会に。
他人と共有するものの名前はしっかり考えてつけないと後々痛い目に遭う事がある。というか今日痛い目に遭った。最近仕事で特殊なファイルを使っていて、それの新旧比較が必要になった。まぁありがちなシチュエーション。これを目視確認なんてやってたら抜け漏れだらけになるし、終わらないしで碌な目に遭わない。だからツールを作ってコンピュータ君に高速かつ自動でやってもらいましょうというのは極々自然な流れである。それを作って貰って、連携だけしてもらったのが数ヶ月前。当時は特別なファイルがなんなのかすらわからず、そのツールが何をするのかもわかってなかった。大事なツールだから取っておいてねくらいのノリだったわけだ。
そして今日、その比較ツールを使う時が来た。しかし私はそのツールの存在をすっかり忘れていたし、共有してもらっていたことも忘れてしまっていた。作成者曰く連携はしたとのこと。比較ツールだとは聞いていたので私はツール名はcompare一点張りで検索をかけた。見つからねぇ。痺れを切らした開発者が10分後に再連携してくれた。ファイル名はget_Fileだった。compareのcの字もなかった。
ごもっともな話をしてしまうとそんな見えてる地雷だったわけだし、連携された段階で要注意のレッテルを貼りまくらなかった私が一番悪い。反省。反省したので今度は私が加害者にならないように気をつけないといけないね、と改めて名前の付け方について考える日になったという話。
今回はコンピュータのツールの話がメインではあるが、何もコンピュータに限った話ではない。例えば塩とか砂糖とかを入れたケースのラベルに「調味料」とは書かないだろう。中身が何か、明確にするはずだ。調味料とか日々使うものならばまぁ多少適当でも忘れることはないが、たまにしか使わないものの命名規則にはかなり気を遣わないと危険。これが如実に現れるのがプログラミングだというだけの話。やったことある人ならわかると思うが、3日前に書いたことすら人は忘れる。あるある。命名規則についてつらつら書いた本が名著として古くから愛読されるくらい、かなり大事な概念だったりする。リーダブルコードな。
ちなみに件のツールの挙動としては「古いファイルを取得」し、「新しいファイルを取得」し、「新旧を比較」するものだった。それでget_Fileだったわけか。それなら百歩譲ってgetAndCompareFilesだったのではないだろうか……。