フォルダ・ファイル管理法

## はじめに
プロジェクトのフォルダやファイルが整理されているだけでも開発効率は相当変わると思いますが、あまりそういったことを教えてくれる人や記事に会わないなと思ったので、自分はこうしているというのを書こうと思いました。その時々によって最適解が異なることもあると思うので、今回はこれが使えそうだというものを真似してみてください。もっとこうしたら良いや、良い記事良い書籍などがあれば教えてくださると幸いです。

## 命名
+ 何に関するファイルかわかるように、ファイル名の先頭にプロジェクト名やプロジェクトコード、製品名や製品コードなど統一接頭語を付ける。必ず一定のフォルダ内にある状態を保てれば別に不要かもしれませんが、メールに添付するときなど、誰かと共有するときに便利です。また、お客さんに共有するときはプロジェクト名の代わりに会社名や製品名などを付けると親切です。

__例__
> pj_abc_要件定義書.xlsx
> pj_abc_請求書.xlsx

+ ファイル名で並び替えたときに順序を持たせたい場合、ファイル名の先頭に数値や日付を入れる。
同名称のファイルで並び替えたときに順序を持たせたい場合、ファイル名の最後に数値や日付を入れる。

__例1__
> 000_最初の手順.pdf
> 001_真ん中の手順.pdf
> 002_最後の手順.pdf

__例2__
> 議事録_20220101.txt
> 議事録_20220201.txt

:::note warn
上記例1の場合、手順を入れ替えたり増やしたりしたい場合に番号をずらす必要があるので、頻繁に更新がある場合はやめた方がいいです。あえて100, 500, 900みたいにして、手順が増えたら050, 055, 520のようにするのもありですが、手順が飛んでいても気づけなかったり、見た目が不自然だったりするので、よく考えた方がいいです。
:::

## フォルダのルールメモの作り方
フォルダの使い方.txtみたいなファイルを作っておいても、わざわざ開いて読もうとは思わないです。
なので、ファイル名をメモに使います。フォルダ名でもいいです。
名前順で並び替えた際に先頭に来て欲しいので、先頭に!と数字を付けます。Windows10の場合、!などの記号は数値よりも優先されます。
.txtを入れていますが、これは開いてファイルの中身がないことを確認しやすいからです。拡張子がないと、「このファイルを開く方法を選んでください。」みたいなのが出てくるので。サイズを見れば空なのはわかりますが。

__例__
> !000_ファイル名の先頭にプロジェクトコードを入れること.txt
> !001_プロジェクトコードはwikiで確認できる.txt
> !010_毎月1日に最新ファイルを格納すること.txt
> !011_最新以外のファイルはarchiveフォルダに移すこと.txt
> !020_個人情報が含まれるので扱いに気を付けること.txt

## 未作成のファイルを管理する
まだ作っていないけれど、作る必要があるというファイルはとりあえず仮置きしておく。
__例__
> 【未作成】システムA_操作マニュアル.txt

## 欲しいまとまりでフォルダ化する
例えば、毎月10日に定例会議があるとします。定例会議には
・会議スライド.pptx
・議事録.txt
・毎月作る資料A.xlsx
・毎月作る資料B.csv
・毎月作る資料C.pdf
・参考資料
が必要とします。参考資料は形式が決まっておらず、「システムAの改修計画書.xlsx」であったり、「お正月に食べたお餅の画像.png」だったりします。複数の場合もあります。
この際、どのようなフォルダ構成やファイル名にするでしょうか。

1つ目に、
・会議スライド
・議事録
・毎月作る資料A
・毎月作る資料B
・毎月作る資料C
・参考資料
というフォルダを作り、
・会議スライドフォルダ内に、会議スライド_20220110.pptx、会議スライド_20220210.pptx、会議スライド_20220310.pptx
・議事録フォルダ内に、議事録_20220110.txt、議事録_20220210.txt、議事録_20220310.txt
のようにファイルを入れる方法(ファイルの種類でフォルダ化)が考えられます。

2つ目に、
・定例会議_20220110
・定例会議_20220210
・定例会議_20220310
というフォルダを作り、それぞれに
・会議スライド_20220110.pptx
・議事録_20220110.txt
・毎月作る資料A_20220110.xlsx
・毎月作る資料B_20220110.csv
・毎月作る資料C_20220110.pdf
・参考資料_20220110
のようにファイルを入れる方法(期間でフォルダ化)が考えられます。

「議事録をまとめて見たい」というときは「ファイルの種類でフォルダ化」の方が便利です。
「先月の打ち合わせの資料をもう一度確認したい」というときは「期間でフォルダ化」の方が便利です。
また、参考資料は不定形なので、「ファイルの種類でフォルダ化」の場合、参考資料フォルダに「お正月に食べたお餅の画像_20220110.png」「日本の歴代総理大臣_20220210.txt」「Qiitaの書き方_20220310.xlsx」「システムAの改修計画書_20220310.xlsx」があると、名前順の並び順としては
「Qiitaの書き方_20220310.xlsx」→「お正月に食べたお餅の画像_20220110.png」→「システムAの改修計画書_20220310.xlsx」→「日本の歴代総理大臣_20220210.txt」となり、まとまりがないです(日付を先頭に持ってくることも考えられますが、個人的にはしたくない)。
さらに、「20220410の会議資料を作る」というとき、「定例会議_20220310」をコピーすれば、「会議スライドはもう作ったけれど、毎月作る資料Aはまだ作っていないな」ということがすぐにわかります。
こういった点を比較して、今のような例の場合は、基本的に「期間でフォルダ化」の作りをするのが良いと思います。

## 作業用フォルダの例
├─00_作業予定
│  └─20220201_〇〇をする
│　　　!000\_作業開始予定\_20220201.txt
│　　　!001\_作業期日\_20220228.txt
│　　　!010\_作業開始\_未着手.txt
│　　　!011\_作業完了\_未完了.txt
│          
├─01_作業中
│  └─20220101_Qiitaの記事を書く
│　　　!000\_作業開始予定\_20220101.txt
│　　　!001\_作業期日\_20220104.txt
│　　　!010\_作業開始\_20210101.txt
│　　　!011\_作業完了\_未完了.txt
│　　　pj\_qiita\_Qiitaの記事を書く\_参考資料\_20220101.txt
│          
└02_作業完了
　└─20211201_クリスマスプレゼントの用意
　　　　!000\_作業開始予定\_20211201.txt
　　　　!001\_作業期日\_20211223.txt
　　　　!010\_作業開始\_20211201.txt
　　　　!011\_作業完了\_20211220.txt
　　　　pj\_qiita\_クリスマスプレゼントの用意\_買うものリスト\_20211220.txt

## 送付した/送付されたファイルを管理するフォルダの例
├─2021
│  ├─20211111\_メール\_会議資料
│  │　　　!000\_From\_〇〇さん.txt
│  │　　　!010\_To\_〇〇さん、△△さん.txt
│  │　　　!020\_CC\_〇〇さん、△△さん.txt
│  │　　　!030\_件名\_2021年11月11日会議資料の送付.txt
│  │　　　pj\_qiita\_会議資料\_20211111.pdf
│  │　　　
│  └─20211224\_Slack\_ログファイル
│　　　    !000\_From\_〇〇さん.txt
│　　　    !010\_channel\_システムA開発者.txt
│　　　    pj\_qiita\_ログファイル\_20211224.txt
│　　　    
└─2022