我正在考虑发布一个用C#编写的类库作为开源.在此之前,我正在尝试进行一些重构,以满足一般公众的要求:)
我想知道什么是最好的命名空间架构?基本上,我看到以下选项:
>命名空间MyTool:这对我来说真的不像是有组织的.我的意思是,(几乎).NET Framework中的所有命名空间都以System为前缀,所以我猜它实际上并不是一种标准的方法.
> namespace MyOrganization.MyTool:问题就是没有“MyOrganization”.它是在我的业余时间写的.
> namespace MyName.MyTool:我更喜欢更谦虚的东西.我的意思是,我不想在命名空间中使用我的名字.
现在已经有一些关于Stackoverflow的相关问题,比如this和this,但它们都没有真正回答我的问题.
有什么建议?
解决方法
我会用以下的东西:
namespace OpenSourceProjectCodeName.MajorFunctionalArea
例如:
namespace VideoWizardMagicThing.Audio namespace VideoWizardMagicThing.Audio.Codecs namespace VideoWizardMagicThing.Video namespace VideoWizardMagicThing.Video.Codecs
您不必完全使用命名空间,所有您可能需要的是一个或两个MajorFunctionalArea.但是,如果不知道项目的结构或它的作用,很难说.