導入
この記事では、ローカルPCに蓄積したソースコードなどを適切に整理・整頓し必要に応じていつでも活用するため、プログラミング学習者が学び始めから現在にわたって使用できるような方法について議論します。環境はWindowsを前提にしていますが、Mac, Linuxユーザでも活用できる内容となっています。
要約
私が実践しているディレクトリ構成を下記に示します。
.
├─Practice
│ ├─tutorial-1
│ ├─tutorial-2
│ └─...
├─MyCode
│ ├─my-project-1
│ ├─my-project-2
│ └─...
├─GitHub
│ ├─repository-1
│ ├─repository-2
│ └─...
└─Documents
├─books
├─cheetcheets
└─LaTeX
まずホームディレクトリ (Windowsの場合は C:\Users\<user>\
, Linuxの場合は /home/<user>/
) の直下に Practice
, MyCode
, GitHub
, Documents
というディレクトリを作成します。それぞれのディレクトリの中に、役割に応じてソースコードなどを保存します。
次に、各ディレクトリの詳細について説明します。
Practice ディレクトリ
Practice
ディレクトリは、書籍やWeb記事などでプログラミングを学習するときに手本として示されたものを書き写したソースコードを保存する場所です。
ここで私は必ず学習内容ごとに新しいディレクトリを Practice
ディレクトリ直下に作成するようにしています。例えばDjangoのチュートリアルを学習する場合は django-tutorial
, 「実践機械学習」のような書籍を学習する場合は hands-on-ml
というディレクトリを作り、書き写す・実行するソースコードはその中だけで完結させるようにします。
MyCode ディレクトリ
MyCode
ディレクトリには、学習した内容をもとに自分で考えた (著作権が自分にある) プログラムのソースコードを保存します。ここでも前節と同様に、たとえ1ファイルで済むような簡単なプログラムでも MyCode
直下に新しくディレクトリを作成し、そのワークスペースで作業します。なぜなら、最初は1ファイルだけだと思っていても、アイデアが膨らんだ結果複数ファイルに分割することが必要だったり、そのプロジェクトをGitで管理したくなる可能性があるからです。
GitHub ディレクトリ
GitHub
ディレクトリには、GitHub上に公開されている使用してみたいソースコードや、共同開発を行っているリポジトリを置きます。GitHubからダウンロードしたものはすべてここに置くと決めることで、ソースコードの出所をすぐに判断することができます。
ディレクトリ名 (リポジトリ名) を衝突させたくない場合は、自分が所属しているOrganization名などを接尾辞にしたディレクトリ (GitHubOrgName
など) を作ります。それを GitHub
と同じ階層に置き分けて管理するとよいです。
Documents ディレクトリ
Documents
ディレクトリには、ソースコードではなく文字通り文書全般を保存します。保存するものの例としては、クリエイティブ・コモンズ・ライセンスで提供されているインターネット上の書籍や自分で購入したDRMフリーの電子書籍、ソフトウェアのキーボードショートカット、ライブラリのチートシートなどが挙げられます。私は Documents
直下に books
, cheatcheets
というディレクトリを作り、そこに書籍とチートシートを整理して保存するようにしています。
さらに、$\LaTeX$ で文書作成を行う場合は、Documents
直下に LaTeX
ディレクトリを作成し、そこに自身で書いた文書を保存します。当然ながら、新しく文書を作り始めるたびに ~\Documents\LaTex
ディレクトリ直下にプロジェクトごとのディレクトリを作成します。
まとめ
この記事では、ホームディレクトリに4つのディレクトリを作成し、目的に応じてソースコードなどの保存先を選ぶシンプルな整理整頓法について説明しました。もしこの方法に共感していただけたり、改善案を思いつかれた方は、どなたでもぜひコメントしていただけますと幸いです。