ファイルとは何か
ファイルは、コンピューターが保存や読み込みの対象として扱う、関連するデータのまとまりです。文章、画像、設定、プログラムのコードなど、内容は違ってもファイルとして名前を付けて扱えます。
開発では「何が書かれているか」だけでなく、「どこにあるか」「どの形式か」「どの文字コードか」まで確認する必要があります。
一文でいうと
ファイルとは、名前を付けて保存し、あとから読み書きできるデータの単位です。
Microsoft Learnは、ファイルを関連するデータの論理的なまとまりと説明しています。ファイルシステムは、そのファイルを記憶装置へ保存し、アプリから取得できるようにします。
個人開発のどこで登場するか
ほぼすべての工程で登場します。
index.htmlのような画面のファイルapp.tsのようなソースコードとは何かpackage.jsonのような設定ファイルロゴや写真などの画像ファイル
テストで使う入力データ
ビルドとは何かによって生成された配布用ファイル
同じプロジェクトにあっても、手で編集するファイル、ツールが生成するファイル、公開してよいファイルは別です。役割を知らずに一括でGitへ追加すると、不要な生成物や秘密情報まで記録するおそれがあります。
一つのファイルを四つの面から見る
たとえば settings.json を扱うときは、次の四点を分けて確認します。
名前:
settings.json場所:どのディレクトリとは何かにあるか
形式:JSONの規則で書かれているか
内容:アプリが必要とする設定が入っているか
名前が同じでも、場所が違えば別のファイルです。反対に、拡張子を .json に変えただけでは、内容がJSON形式へ変換されるわけではありません。
ディレクトリ、拡張子、形式と区別する
ファイル:データそのものを保存する単位
ディレクトリ:ファイルや別のディレクトリを整理する入れ物
ファイル名:同じディレクトリ内などで対象を見分ける名前
拡張子:ファイル名の末尾で種類の手掛かりを示す部分
形式:内容をどの規則で並べ、読み取るかという約束
拡張子は便利な目印ですが、内容を保証しません。画像に見える名前でも実際の形式が違えば開けず、テキストでも文字コードが違えば文字化けします。
上書きと削除の前に対象を確かめる
ファイル操作は、名前が似た別ファイルや、現在地から見た別の場所へ作用することがあります。変更前に次を確認します。
対象のパスとは何かが意図した場所か
元へ戻せるGit履歴やバックアップがあるか
アプリが使用中のファイルではないか
秘密情報や個人情報をコピー先へ含めないか
生成ファイルなら、手作業で直さず再生成できないか
特に一括削除や上書きでは、最初に少数の対象で結果を確認します。
次に読む記事
ファイルを階層で整理する仕組みはディレクトリとは何か、その場所を文字列で示す方法はパスとは何かへ進みます。変更履歴を残す単位はリポジトリとは何かで確認できます。