【问题标题】:Namespace and Assembly names for a reusable component可重用组件的命名空间和程序集名称
【发布时间】:2010-01-16 10:39:34
【问题描述】:

我手上有一个难题。

我目前正在将大量“code sn-ps”编译成可重用的库,我显然打算在多个应用程序中使用这些库。

我无法确定合适的命名空间和程序集名称。

基本上,我目前有 JasonSummers.Validation 作为我的验证库的示例,因为我没有“公司”,也没有代码适用的特定项目。

但是,后来,当我开始在客户的项目中使用上述命名空间时,我认为在他们可能拥有 IPR 的代码中引用我的名字并不合适。

我只会使用“Validation”作为命名空间(毕竟,StructureMap 是 StructureMap,而不是 JeremyMiller.StructureMap),但这可能会给未来的开发人员造成混淆,因为“Validation”用于由.net

非常感谢所有 cmets。

【问题讨论】:

    标签: c# naming-conventions namespaces


    【解决方案1】:

    您始终可以使用生物学中的名称,例如 Tribulus。或任何其他用于您的根命名空间。因此,您的代码进入例如Tribulus.ValidationTribulus.Utilities 等。顶级命名空间不必是功能名称。它可以只是公司的签名,也可以只是我提到的一个独特的有趣名称。

    【讨论】:

    • 这是一个非常棒的好主意!我会试试看的:)
    【解决方案2】:

    根据我的个人经验,我在源代码级别为这些有用的函数维护了一个代码库,也就是说,我在我的客户品牌和程序集名称下复制了每个项目中我需要的每个函数。

    我发现将这些功能保留在汇编级别没有用处,正是因为:它将包含一些可能会产生混淆的名称,并且还有一个额外的原因:客户为某些功能付费,但不是为其他功能付费(包括在大会中)。所以,我只收拾他/她买的东西。

    一个选项可以是使用中性名称,例如Reusable,并使用ilmerge 框架命令合并您的实用程序程序集。

    【讨论】:

    • 感谢您的评论鲁本斯,我还包含一些“有用的代码块”,我根据需要复制/粘贴。但是,此程序集确实包含我不想在以后的项目中重新创建(即使是通过复制/粘贴)的对象和用户控件。
    【解决方案3】:

    看看Microsoft's Namespace Naming Guidelines

    我从Konamimanmy question 得到了与你相关的答案。

    【讨论】:

      猜你喜欢
      • 2010-09-23
      • 1970-01-01
      • 2010-10-14
      • 1970-01-01
      • 1970-01-01
      • 2011-01-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多