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

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

例如:

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

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

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

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

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

谢谢。

也可以看看 这个相关问题关于 命名空间组织.

编辑

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

有帮助吗?

解决方案

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

我们的命名空间按项目名称组织。可重用的东西放在 Toolbox 命名空间中。也许有点粗糙,但到目前为止效果还不错。

其他提示

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

我使用该组织,然后使用产品,例如 Acme.Crm。将类分组到子命名空间中时,始终使用复数或操作,这样就不会与类发生冲突。例如

  • Acme.Crm.信件
  • Acme.Crm.发票

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top