Entry

ソース構成の管理方法の話とかつらつら

2008年09月11日

最近話題が偏ってる気もするんですけど,またプログラミングの話です。

小さなプロジェクトだと,ひとつのディレクトリにソースもヘッダも収めることがあるけれど,少し大きなプロジェクトを扱うようになると,目的別にディレクトリを細分化すると便利だったりします。というか,大多数のプロジェクトでは,それぞれのやり方でディレクトリを細分化しています。先日知人と話していたんですけど,このディレクトリの作り方で,作業の効率が上がったり下がったりするんだそうな。

あたしの場合はというと,趣味で作るプログラムでは,こんな風にディレクトリを作っていたりします。別に,こう決めて作ってるわけじゃなくて,いつもはほとんど勘で作ってる。

[project name]/
    Makefile
    README
    COPYRIGHT
    +doc/ ← JavaDoc や doxygen の生成場所
        (documents)
    +ext/ ← サードパーティ製モジュールの置き場所
        +[third party module A]/
            +include/
            +src/
            +lib/
        +[third party module B]/
            +include/
            +src/
            +lib/
        :
    +include/ ←ライブラリモジュールの時の公開ヘッダ(ディレクトリを切らないこともある)
        +[project name]/
            +header1.h
            +header2.h
            +header3.h
            :
    +lib/ ←ライブラリモジュールの時の生成場所
        [project name].a
        [project name].so
        [project name].lib
        [project name].dll
    +src/
        +include/ ←公開しないヘッダファイル置き場
            localheader1.h
            localheader2.h
            :
        src1.cpp
        src2.c
        src3.asm
        :
    +test/ ←テストプログラムの置き場所(ライブラリを作る時はよく作ってる)
        (test programs)
    +bin/ ←実行形式プログラムの時の生成場所
        (exectable file)
    +scripts/ ←補助プログラム(たまに作る)

上のディレクトリのうち,「生成場所」と書かれている場所は,ツールを使って生成する場所なので,CVS や Subversion に収めるときは空っぽです。

普段はあまり気にしないで,その場で作ってたんですけど,改めて考え直すと,かなり定型化できそうな感じ。こゆもんはとても大切なんですけど,大切だからこそ,うだうだ迷わないでサクサク作れるように定型化しておきたいなぁ,とは思います。

こゆの,どこかで標準化しているところがあるんだっけ?GNU とかはしてそうだけど,あまりここら辺のこと知らないんだよなぁ。

Trackback
Trackback URL:
Ads
About
Search This Site
Ads
Categories
Recent Entries
Log Archive
Syndicate This Site
Info.
クリエイティブ・コモンズ・ライセンス
Movable Type 3.36
Valid XHTML 1.1!
Valid CSS!
ブログタイムズ

© 2003-2012 AIAN