私はC#ライブラリに取り組んでいます(この質問のために「Foo」と呼びましょう)。標準の .NET ニーズと非常によく似たニーズがいくつかあります。たとえば、いくつかの描画サービスといくつかの変換サービスを提供します。
ライブラリに慣れ親しみ、ライブラリのユーザーが名前を推測できるようにするために、.NET 標準に従い、ライブラリのこれらの部分に Foo.Drawing や Foo.Convert (など) の名前を付けたいと思います。しかし、実際に使用すると、これが痛みを引き起こすことがわかりました。ほとんどの場合、人々は「システムを使用する」ことを持っています。各ファイルの先頭にあり、このライブラリを使用する場合、「using Foo;」が必要です。同じように。しかし、今では 2 つの Drawing モジュールと 2 つの Convert モジュールがあり、楽しさが続きます。
たとえば、パラメーターまたは変数の型に Drawing.Color を使用するだけでなく、System.Drawing.Color を明示的に指定する必要があります。そうしないと、Foo.Drawing に Color 型がないとコンパイラが文句を言います。同様に、標準の Convert.ToInt32 を使用したい場合は、既に System を使用しているにもかかわらず、System.Convert.ToInt32 と言う必要があります。
これがすべてそのままである理由は理解していますが、私はまだ C# コミュニティに参加したばかりなので、どれが最も標準的なソリューションかはわかりません。
- このままにして、ユーザーが必要に応じて完全修飾名を使用することを期待しますか?
- 競合するモジュールの名前を別の名前に変更しますか (Foo.Drawing の代わりに Foo.Graphics、Foo.Convert の代わりに Foo.Conversion など)?
- 標準名 (Foo.FDrawing および Foo.FConvert) にプレフィックスを使用しますか?
- 他の何か?
経験豊富な C# の達人からのアドバイスをお待ちしております。