首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >命名空间命名约定

命名空间命名约定
EN

Stack Overflow用户
提问于 2009-05-28 02:07:44
回答 2查看 44.3K关注 0票数 54

对于那些编写可重用组件的人来说,如果您正在扩展.NET框架的功能,您认为什么是最佳实践?

例如,我现在正在创建一个Pop3库,因为.NET中不存在这样的库,我是创建一个自定义名称空间还是使用System.Net.Mail

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-05-28 02:14:53

Namespace Naming Guidelines

命名空间的一般规则是使用公司名称,后跟技术名称以及可选的功能和设计,如下所示。复制代码

CompanyName.TechnologyName[.Feature][.Design]

通常,开始将内容包含到框架或库的默认命名空间中是一种非常糟糕的做法。这可能会造成混淆,因为新的命名空间是现有库的一部分,还是其他人添加的自定义框架的一部分。

此外,命名约定试图通过具有唯一标识符(如CompanyName )来避免名称空间冲突。它还减少了在新库源代码方面的任何混淆和问题。

这不仅是微软的事情,在Java中也是如此。在Java语言中称为“包”的名称空间具有following convention

唯一包名称的前缀始终以全小写的ASCII字母书写,并且应为顶级域名之一,当前为com、edu、gov、mil、net、org,或标识1981年ISO标准3166中指定的国家/地区的英文双字母代码之一。

包名称的后续组件根据组织自己的内部命名约定而有所不同。这样的约定可能会指定某些目录名称组件是部门、部门、项目、计算机或登录名称。

所以,如果我有一个非常棒的软件,它可能在net.coobird.superawesomesoftware包中。

使用包含默认java.javax.com.sun.包的包名是一个很大的禁忌。

票数 66
EN

Stack Overflow用户

发布于 2011-01-07 16:49:23

有关命名名称空间的指导原则,请参阅下面的MSDN文章

Names of Namespaces

为命名空间选择的名称应指示命名空间中的类型所提供的功能。例如,System.Net.Sockets命名空间包含使开发人员能够使用套接字通过网络进行通信的类型。

命名空间名称的一般格式如下:

<Company>.(<Product>|<Technology>)[.<Feature>][.<Subnamespace>]

例如,Microsoft.WindowsMobile.DirectX.

票数 15
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/918894

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档