連番のファイル名と年号の付け方についての検討

Pocket
LINEで送る
GREE にシェア
LinkedIn にシェア

2000年問題は、経験した人も多いと思いますが、世の中的には騒いでいた割には、大した障害も発生せずに済んだ拍子抜けの問題だったのですが、エンジニアサイドから考えると、非常に重要な事を考えさせられる出来事でした。
 

プログラムにおける、プレフィックスや関数名、ログデータなどのファイル名や、システム利用する為のデータの日付けの扱いなど、未だに2000年問題から何も学べていおないプログラマーが多数いる事を感じたので今回記事を書いてみました。

2000年問題とは

2000年問題 | wikipedia
 

Y2K問題という約し方が、流行った記憶もありますが、知らない人の為に簡単に説明すると、システムで利用するデータに日付を入力する時に、1972年3月1日(僕の誕生日です)を「720301」という風に記述することが一般的に思われていて、2000年1月1日の日付が桁が繰り上がってしまうという事実に、システムがどのような誤作動をするか分からず、システムを知らない人が不安感を煽りまくった出来事でした。
 

何故、1972年を72とするかというと、プログラムの基本思考として、文字列をできるだけ節約するという思考があります。
 

1972年を”1972″という風に記述していたプログラマもいましたが、「2バイトもったいない」とプロジェクトリーダーから叱られている姿も何度も見かけました。
 

多くのエンジニアの本心は、「今作っているシステムは自分は2000年までは対応していないので、誰かが対応するだろう・・・」という意識も強かったように思えます。
 

こうして、いざ西暦2000年になった時に大騒ぎしたという事でした。

会社のデータに日付を入れている人

会社で仕事をしていると、必ずファイル管理しなければならない場面があり、その際に日付をファイル名に入れる事も多いと思います。
 

そのファイル名を見た時に、「提案資料_061212.ppt」となっているのを見た時に、やはり「2000年問題」が頭をよぎります。
 

確かに、このファイルを更新していった時に、桁数問題が発生するのは、100年近くも先なので、自分は存在していないだろう・・・と考え、まったく何も思考していないと思われるが、これを別の人が修正して、「提案資料_20061213.ppt」としてしまった場合、ファイルがキレイに並ばなくてイライラする人もいるかと思います。
 

もちろん、職場でファイルの命名ルールを作れば済む話なのですが、こういうのって人間の感覚が先走ってしまうので、「提案資料_181214.ppt」と名付ける人も出てきます。
これは2018年ではなく、「2006年=平成18年」の事を表しているんですが、元号を書くタイプの人も管理系部門にはたくさんいるようです。
 

これらのファイルを並べてみると

提案資料_061212.ppt
提案資料_181214.ppt
提案資料_20061213.ppt

という風に並びますが、見た目の汚さも去ることながら、並び順も順番にならないことが本当にイライラしてしまいます。

OSによる並び順の違い

ゲーム開発や、動画系などの素材を扱う仕事をする場合、連番ファイルを扱うことは非常に多いと思います。
 

その際に、以下のようなファイル名を見た時にやはり「イラッ」としてしまいました。
 

image-1.jpg
image-2.jpg
image-3.jpg
image-4.jpg
image-5.jpg
..

一見、何の問題もなさそうに見えますが、ファイル数が10を超えた際に問題が露呈します。
 

..
image-7.jpg
image-8.jpg
image-9.jpg
image-10.jpg
image-11.jpg
..

実際にやってみると、WindowsやMacなどのGUI-OSは、こうした連番ファイルに対して、数値の大小を判断して並べてくれるので、キレイに並んで見えますが、Linuxサーバーや、プログラムでソート処理をした時などは以下のように並びます。
 

(1~11までの連番ファイル)
image-1.jpg
image-10.jpg
image-11.jpg
image-2.jpg
image-3.jpg
image-4.jpg
image-5.jpg
image-6.jpg
image-7.jpg
image-8.jpg
image-9.jpg

これを解消するには、数値の桁合わせをする以外にありません。
 

image-01.jpg
image-02.jpg
image-03.jpg
image-04.jpg
image-05.jpg
image-06.jpg
image-07.jpg
image-08.jpg
image-09.jpg
image-10.jpg
image-11.jpg

当たり前のように感じますが、これも一種のデジタルリテラシーだと思われるので、今まできにしていなかった人は、是非自分のつけるファイル名に気を配ってみては如何でしょうか?

Leave a Reply

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です