- - PR -
名前空間とプロジェクト構成
投稿者 | 投稿内容 | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-04-17 14:48
#VS2005/VB
#名前のガイドラインのことではありません アプリケーションから切り出していわゆる共通クラスライブラリを作っていましたが 今まで名前空間をあまり意識したことがなかったのでいまいちしっくりきません。 そこで皆さんはどのようにしているかをお聞かせいただけたらと思います。 1.名前空間のつけ方 A.既定(プロジェクト名=ルート名前空間) B.プロパティのルート名前空間でやりくりする C.プロパティのルート名前空間を空にしてNamespaceステートメントを使う 2.1に対してどのようなフォルダ名とプロジェクト名をつけますか? たとえば、IO.vbproj(名前要素)、Madoka.IO.vbproj(フルパス) 3.ソリューションはどんな単位ですか? 一括、配布単位、依存関係の無いものは単独 #なんか「一般的な」イメージがわかないんです。。。 [ メッセージ編集済み 編集者: まどか 編集日時 2006-04-17 14:50 ] | ||||||||||||||||
|
投稿日時: 2006-04-17 14:55
http://msdn2.microsoft.com/ja-jp/library/ms229026(VS.80).aspx
ここに名前空間の名前のガイドラインがありますね。 私は1.に関してはCが好みです。 | ||||||||||||||||
|
投稿日時: 2006-04-17 15:01
Enterprise Library は参考になりました。
(結構前に見たので最新バージョンがどうなっているかわかりませんが、より洗練されている事でしょう) | ||||||||||||||||
|
投稿日時: 2006-04-17 15:05
ありがとうございます。
最終的にその方向にいきそうではあるのですが、 Aでやっていてプロジェクトを作っていくうちにフォルダ名がちぐはぐになっちゃいまして。。。 | ||||||||||||||||
|
投稿日時: 2006-04-17 15:11
「つけ方」というと命名になってしまうような...(^^) 私は C# では C (ルートは空にはしません)、VB だと A (特別に何かあれば明示的に書きます) ですね。
C# だと新規項目の namespace がディレクトリで意識されていますから、 ディレクトリ構造に合わせた方が良いんでしょうかね? ただ、VB は新規項目の NameSpace が決まっていないですからね... これには一般的にどうというのは存在しないように思えます。 クラス ライブラリであれば迷わず名前空間に沿ったディレクトリ分けをします。 たいてい、アプリケーション モデル名前空間、コア名前空間が主になってしまいますが、 そこまで大規模になるほどに、アセンブリの数が多くなることも今のところはないです。
1. アプリケーション単位 (クラス ライブラリのプロジェクト参照) だったり、 2. セットアップ用ということで、全部詰め込んであったり、 3. 他の会社と部門別に作る場合は、分散ソリューションにしたり 1. は、クラス ライブラリが開発途中の場合、VSS と組み合わせると最強ですね。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||||||||||
|
投稿日時: 2006-04-17 15:21
空にしないということは、トップだけにしてあとは明示宣言するということですよね?
ということはプロジェクト名で管理していると。
これの意味がわからないのですが、 新規プロジェクトを作成するとプロパティのルート名前空間がプロジェクト名に設定されますが それで決まっていないとは?
名前要素ですよね? \Madoka ----\IO であって \Madoka ----\Madoka.IO ではないですよね? | ||||||||||||||||
|
投稿日時: 2006-04-17 15:36
トップだけの意味がわかりかねますが... 名前空間に囲まれていない (トップレベル) という意味でしょうか。 ルート名前空間は用意しますが、全部明示的に namespace は書いていますよ。 (でも、空にはしないという意味です)
管理とは言えないでしょうね。 「VB では必要な場合のみ書いています」という意味ですから。 新規項目の作成で NameSpace がコードに書かれませんから郷に (VB に) 従っているという意味です。
「新しい項目」を追加した後の「コード」の話です。 C# では namespace がありますが、VB に NameSpace の記述がないですから。
はい、そうです。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||||||||||
|
投稿日時: 2006-04-17 15:59
こんにちは〜。
私の場合、VS2003ですが、VBの場合は以下のようにしてます。 ・プロジェクト名⇒BonoIO.vbproj ・プロジェクトのプロパティのルート名前空間⇒Bono.IO NameSpaceステートメントは、ルート名前空間の直下にクラスを配置するときは書きません。 サブの名前空間を使うときは、NameSpaceステートメントを使用しますが、ルート名前空間からの相対で指定してます。 [ メッセージ編集済み 編集者: ぼのぼの 編集日時 2006-04-17 16:01 ] |