良いあそなすちゃん

良い方のあそなすちゃんです!

開発マシンの開発ディレクトリ構成

後輩くんから質問を受けたので公開する、こんな感じ

上から

dev/asonas

自分のプロジェクトはだいたいここに入ってる。
asonasなのは僕の ssh key で pull, push できるもの。例えば会社にはいって fujiwara という名前で鍵をつくってそれを登録していたら dev/fujiwara というのを切ってその下に fujiwara で pull push できるコードを置くようにしてる。

dev/bin

~/local/bin みたいな役割
Macで ~/local みたいなディレクトリをつくりたくないから dev/ においやってる。

dev/blog

ブログに関するものをおいてる。
最近はoctopressのコードもここにおいてる。

dev/gem

Githubからcloneしてきたgemをおいてる。手元においておきたいコード(例えばrailsとかrspec-coreとか)が主。

dev/github

githubからcloneしてきたコードもろもろ。
昔はdev/gemと一緒だったんだけど、見通しが悪かったので分離した経緯がある。

dev/rspec_sample

rspecのスニペットとかをおいてる。

dev/sample_code

CodeIQとかで書いたコードやCode Golfとかのコードをおいてる。
書いたけど、しばらくは消したくはないコードはここ

dev/src

手元でコンパイルしたいソースをここにおいてる。
でも最近はbrewに頼りっきりなのであんまり使ってない。
rubyのtrunkもここにおいてある。

dev/tmp

dev/sample_codeとは違ってその場で書いたコードをおいておく。
気がついたら消すみたいな運用をしてる。
消しても大丈夫かな?と確認しないで消すのがここ。そうじゃなくて、消すときに一度確認するのが sample_code 以下。

dev/web

asonas.jp とか rails.terakoya.io とか、自分が管理しているWebサイトのコードをここにおいてる。
昔は dev/asonas に置いてたけど、これも見通しが悪くなったので分離させた。

dev/work

コード以外でのお仕事をここにおいてる。最近はあんまりないけど、ロゴとか自分でつくったワイヤーフレームとかはここにおいてる。

メリット・デメリット

メリットは、役割ごとに意味のわかるディレクトリ名をつけて、その下にコードを保存するから「あのコードどこにあるっけ?」になりにくい。
デメリットは、/dev/null みたいなUnixのスペシャルファイルと混同しやすいから、たまにややこしいって言われる。でも僕は別に気にならないのと、短くてわかりやすいので dev/ してます。

まとめ

ディレクトリ構成をちゃんとしないと、同じマシンで1年以上開発していると破滅するのでよしなに管理しましょう。
昔は dev/asonas と dev/tmp と dev/src しかなかったせいで、dev/asoansが破滅したことがある。