日本語ファイル名

今年から新しいプロジェクトに参加することになった。今度はEJBやJMSを使う大規模アプリの開発だ。しかし、すでに10年程度システム開発が継続しているシステムで、昨年末には新たなバージョンのサービスインも行われている。

まずはドキュメントを読んだり、開発環境のセットアップをしたりが主な作業だが、日本語ファイル名が多いのが気になる。なぜ、ドキュメントを日本語ファイル名にするのだろう。

日本語ファイル名を使うメリットは以下のような点だと思う。

  • ファイルの中身を明確にあらわせるから
  • ファイルを読まなくてもある程度理解できるから
  • ファイルを区別するのに、わかりやすいファイル名が必要だから
  • 英語は苦手でわからないが、日本語ならわかりやすいから。

それに対し、デメリットや問題点は以下のとおりだと思う。

  • 複数のOSなどで使用する場合、ファイルが参照できない場合などがある。
    • 共有設定などをする際に、文字コードの指定の認識が必要(Cygwinなどを使う場合にもコツがいる)
    • Nativeな文字(SJISEUC)の場合どうしてもOS間で誤認識されてしまうケースがある。
    • 構成管理ソフトは文字コード対応しているものを使わなければいけない
  • DISK障害などの際、復旧するのが難しい。(ASCII文字だけなら英語DOSから起動、復旧などもたやすい)
  • アプリの引数などにする場合、正しく認識しない場合も多い。
  • ファイルの中身をファイル名だけで理解はできない。ファイルの中身や性格付けをファイル名の少ない文字列程度で表せることは結構少ない。

一番気になるのは「ファイル名だけで内容を適切に簡潔に表せる」と思っていることだ。これって日本語だろうと英語だろうと結構大変だ。適切であるかどうかは見る人が複数いる場合、特に問題になる。またファイル名を考えるのに、たいそう時間がかかってしまう場合もある。動くシステムに直接関係のない部分に集中力を要求されてしまっている、ともいえる。

もちろん、わかりやすい名前(ファイル名)は大事だとは思うが、それを考え出す労力が毎回高く、かつ、効果的でない場合も多々あるだろう、ということである。わかりやすいファイル名がついていたほうが、後でみつけやすいし、共有もしやすいので大事だが、現実はファイル名だけで何が書いてあるかを正確にわかるなんてありえないのではないだろうか。

普通、文書にはタイトル、見出し、小見出しなどがあり、それらを俯瞰すれば「ああ、こういうことが書いてあるのね。」と理解できるのである。ならばファイル名にこだわるのではなく、タイトルから見出し(小見出しまでなど、ドキュメントに応じレベルはさまざま)で内容を表す仕組みがあったほうがよいのではないだろうか。

昔から思っていたのだが、Windowsエクスプローラ(ファイルマネージャ)にファイル名、タイトル、見出しなどを一覧表示できる機能があればいいなぁ、と思っていた。タイトル表示だけだと1行ですむが、見出しまで選択すると1ファイルが複数行にわたり、それで一覧表示されていれば、見る人が知りたい内容に応じファイルを選ぶことがたやすくなる。またファイルを読まなくてもより早く理解することができる。

そして、このような機能はWindowsエクスプローラで実現するより、構成管理クライアントで実現できるともっともよい気がする。管理ファイルには履歴コメントは入れられるが、そのほかのコメントは入れられないのが普通だ。ファイルのタイトル、概要、見出しなどが構成管理のクライアント上で共有できると非常に便利な気がする。このようなクライアントソフトがあれば、日本語ファイル名を多用することも少なくなるのではないだろうか。