namespace ってフォルダに合わせるべきなのかな
◆ 適度にまとまってて欲しい
◆ using いっぱいは気持ち悪いし面倒
◆ using いっぱいは気持ち悪いし面倒
JavaScript だとそんなものはないので 気にすることもないのですが C# だと namespace というのがあります
という感じ
よくあるのが プロジェクトのフォルダ階層と namespace を合わせるもの
大文字小文字の違いはありますが C# のソースでもほぼそうなってます
https://referencesource.microsoft.com/
フォルダは綺麗に分けたいので ファイルひとつだけでもわけることがあるのですが そうなると namespace がいっぱいあって 同じ namespace にはクラスが 1 つだけってことも多いです
分け方がおかしいということでもなく 規模が大きくなれば問題ないものですが 小さくてクラスも少ないので仕方ないという感じです
この状態だと 何かするときにたくさん using 書かないとダメで不便です
Ctrl-. で自動で using を補完してくれるといっても using を書く前にクラス名補完はないですし using いっぱいは邪魔です
やっぱりいらなくなったときに using のほうが残り続ける可能性もあります
それに 補完項目から一覧をみるときに名前空間が一緒のほうが探しやすいです
なので 自分のライブラリでは全部同じ namespace にするか 参照に追加しないといけないものが変わる単位くらいで分けてます
例えば フォルダでわけるとこうなってるのがあると
これくらいまで減らしたいです
フォルダに合わせるって 場所がわかりやすいのと重複クラス名がおきないくらいのメリットに思えますし 重複は複数のフォルダをまとめても起きないようなまとめ方にしますし 場所は IDE 使ってれば気にすることもないです
なので フォルダに合わせず適度にまとめてしまった方が補完機能でクラス探すときも一覧になってて便利に思えます
不便なことが出てきたりクラス数が増えてきたりしなければ適度にまとめる感じにしようと思います
namespace wpf_sample
{
public partial class Window1 : Window
{
}
}
{
public partial class Window1 : Window
{
}
}
という感じ
よくあるのが プロジェクトのフォルダ階層と namespace を合わせるもの
大文字小文字の違いはありますが C# のソースでもほぼそうなってます
https://referencesource.microsoft.com/
フォルダは綺麗に分けたいので ファイルひとつだけでもわけることがあるのですが そうなると namespace がいっぱいあって 同じ namespace にはクラスが 1 つだけってことも多いです
分け方がおかしいということでもなく 規模が大きくなれば問題ないものですが 小さくてクラスも少ないので仕方ないという感じです
この状態だと 何かするときにたくさん using 書かないとダメで不便です
Ctrl-. で自動で using を補完してくれるといっても using を書く前にクラス名補完はないですし using いっぱいは邪魔です
やっぱりいらなくなったときに using のほうが残り続ける可能性もあります
それに 補完項目から一覧をみるときに名前空間が一緒のほうが探しやすいです
なので 自分のライブラリでは全部同じ namespace にするか 参照に追加しないといけないものが変わる単位くらいで分けてます
例えば フォルダでわけるとこうなってるのがあると
using libsharp;
using libsharp.wpf;
using libsharp.wpf.controls;
using libsharp.wpf.windows;
using libsharp.wpf.converters;
using libsharp.wpf.aproperties;
using libsharp.wpf.types;
using libsharp.types;
using libsharp.debug;
using libsharp.db;
using libsharp.db.sqlite3;
using libsharp.db.postgresql;
using libsharp.enums;
using libsharp.reflections;
using libsharp.testhelper;
using libsharp.com;
using libsharp.forms;
using libsharp.forms.controls;
using libsharp.wpf;
using libsharp.wpf.controls;
using libsharp.wpf.windows;
using libsharp.wpf.converters;
using libsharp.wpf.aproperties;
using libsharp.wpf.types;
using libsharp.types;
using libsharp.debug;
using libsharp.db;
using libsharp.db.sqlite3;
using libsharp.db.postgresql;
using libsharp.enums;
using libsharp.reflections;
using libsharp.testhelper;
using libsharp.com;
using libsharp.forms;
using libsharp.forms.controls;
これくらいまで減らしたいです
using libsharp;
using libsharp.wpf;
using libsharp.db;
using libsharp.db.sqlite3;
using libsharp.db.postgresql;
using libsharp.testhelper;
using libsharp.com;
using libsharp.forms;
using libsharp.wpf;
using libsharp.db;
using libsharp.db.sqlite3;
using libsharp.db.postgresql;
using libsharp.testhelper;
using libsharp.com;
using libsharp.forms;
フォルダに合わせるって 場所がわかりやすいのと重複クラス名がおきないくらいのメリットに思えますし 重複は複数のフォルダをまとめても起きないようなまとめ方にしますし 場所は IDE 使ってれば気にすることもないです
なので フォルダに合わせず適度にまとめてしまった方が補完機能でクラス探すときも一覧になってて便利に思えます
不便なことが出てきたりクラス数が増えてきたりしなければ適度にまとめる感じにしようと思います