パソコン・メモメモ備忘録

気の向くままパソコン関係等で気になることを書き記す。時々更新!

ソースファイルと DB

VisualStudio でプログラムを開発しているのだが(たまに Eclipse も使うが)、最近ソースファイル、というものが鬱陶しく感じている。例えば、C++ だと 〜.cpp とか 〜.h とかいうファイルだ。C++ には、class や namespace とかいった単位というか区切りというかスコープがある。それとは別にファイルという単位が存在して、〜.cpp とか 〜.h とか名前が付いている。

個人的には、この固有の区切りというのが冗長というか、独立した区切り方をするなら、もっと複数種類の区切り方を選べたり、純粋に論理的な単位で区切れた方がいいんじゃないかと言う事をいつも感じるのだ。特に VisualStudio では、ビルドする単位はファイル単位だったりするのがなんとも面倒で。1ファイルに複数のメソッドが入っていると、書き換えていない関数も含めてリコンパイルされたり。ソースファイル毎にテキストエディタのタブが表示されるので、同じソースファイル内の別の関数を並べて表示しつつ編集する、というのが面倒な場合もある。

いっそ、全ての関数や、クラス、または好きな単位でバラバラにして、個別に編集できるような開発環境 IDE は無いのだろうか。最小単位は、メソッド関数レベルか、ブロックレベルで、クラスというグルーピングはデフォルトであるとして、特に関連があるメソッドだけのグループを作ったり、場合によっては、クラスをまたいだグルーピングもあり、にすると。

そういったグループごとに、現在のソースファイル単位の表示のように、まとめて表示編集できればいいんじゃないだろうか。C++ だと #include なんかの依存関係のスコープについては、例えば、include する側の影響範囲も、include される側も好きなグループで定義できればいいかな。

ただ、ブラウジングが面倒になってきそうではある。基本は、VisualStudio のクラスビューのような、ツリー構造が基本だろうか。ただ、同じ葉要素を共有する別のツリーも簡単に並列に作れる感じ? とりあえず複数の namespace に属する事ができるようになればいいのかな? 今の書き方ではスマートに書けない気がするが。

もう、こうなってくると今のファイルシステムソースコードを管理するのは、面倒になってくるので、DB にメソッド毎に属性を付けて登録したりして管理するんじゃないのかな。バージョン管理も問題なく出来そうだし、コンパイルしたバイナリも DB で管理するようになるのかな。リンクとか dll も無くなったりするのかなぁ。

ただ、namespace とか グループとか、(クラスやメソッドもそうだが)名前を付けるのがかなり面倒。名は体を表わして欲しいが、冗長でない的確な名前を付けるほうが、アルゴリズムをコード化する作業よりも大変だったり。IDE には、命名支援機能を是非搭載してほしいものだ。