7

我将首先说我通常在 C#/.Net 中工作。

通常,我使用一种命名方案,将通用的、可重用的组件放入一个命名空间中,该命名空间将我们的组织和项目特定的组件反映到与项目相关的命名空间中。我这样做的原因之一是我有时会与部门外但在组织内的其他人共享我的组件。项目特定的命名空间通常以部门名称或缩写开头。当我在项目之间重用代码时,我通常将其迁移到基于组织的命名空间之一。

例如:

UIOWA.DirectoryServices包含处理我们的 Active Directory 的特定实现的类。

UIOWA.Calendar包含处理大学主日历的课程。

LST.Inventory.Datalayer包含实现学习空间技术组库存应用程序的数据层的类。

我现在正在为一个与大学(一个举办慈善活动的学生团体)有更模糊联系的实体开展一个项目,该实体有可能在我们大学之外出售,因此,它并不真正适合进入我的正常命名约定,即,该部门只是可能使用该项目的许多潜在客户中的第一个客户。

我的倾向是走组织命名路线并为此应用程序创建一个“组织项目”命名空间。我想听听其他人如何处理这个问题以及您可能有的任何建议。

谢谢。

另请参阅有关命名空间组织的相关问题。

编辑

我最终创建了 org/project 命名空间UIOWA.MasterEvent并从那里派生了更多的命名空间。仍然对未来项目的其他意见感兴趣。

4

3 回答 3

6

我的部门在过去五年中三次更改了他的名字,所以我们都很高兴有人决定不使用带有组织名称的命名空间......

我们的命名空间是按项目名称组织的。可重用的东西被放入Toolbox命名空间。也许有点粗糙,但到目前为止效果很好。

于 2008-10-27T14:28:51.693 回答
1

我是一名 .NET 开发人员,我总是使用组织项目命名空间 (com.bolidian.projectspace),因为它保证了唯一性。

于 2008-10-27T14:20:09.607 回答
0

我使用组织,其次是产品,例如 Acme.Crm。在子命名空间中将类组合在一起时,请始终使用复数或动作,以免与类发生冲突。例如

  • Acme.Crm.Letters
  • Acme.Crm.Invoicing

我遵循 Microsoft 的惯例,不使用首字母缩略词,例如用 Crm 代替 CRM,用 Sql 代替 SQL——但这更多是个人喜好。

于 2010-03-31T09:26:41.910 回答