命名空间与所在项目同名是否是最佳实践?
Is it best practice for a namespace to have the same name as the project in which it is found in?
假设我的解决方案具有以下结构:
我的解决方案 -> 项目 A -> ClassA.cs
默认情况下,项目ProjectA中第一个命名空间的名称是ProjectA
。
namespace ProjectA
{
public class ClassA
{
// body
}
}
项目中第一个命名空间的名称与所在项目同名是best/common惯例吗?
或者我应该更改第一个命名空间的默认名称吗?
是也不是。与项目同名的顶级命名空间很常见,对许多项目来说都很好。在处理使用该命名空间中的 类 的代码时,这有助于您轻松识别源文件在项目结构中的位置。
但是,如果您正在编写打算发布的库,请注意 Microsoft 的 Names of Namespaces 框架设计指南:
DO prefix namespace names with a company name to prevent namespaces from different companies from having the same name.
和
DO use PascalCasing, and separate namespace components with periods (e.g., Microsoft.Office.PowerPoint).
因此,如果您的项目名为 Foo
,您的命名空间将为 MyCompany.Foo
。
假设我的解决方案具有以下结构:
我的解决方案 -> 项目 A -> ClassA.cs
默认情况下,项目ProjectA中第一个命名空间的名称是ProjectA
。
namespace ProjectA
{
public class ClassA
{
// body
}
}
项目中第一个命名空间的名称与所在项目同名是best/common惯例吗?
或者我应该更改第一个命名空间的默认名称吗?
是也不是。与项目同名的顶级命名空间很常见,对许多项目来说都很好。在处理使用该命名空间中的 类 的代码时,这有助于您轻松识别源文件在项目结构中的位置。
但是,如果您正在编写打算发布的库,请注意 Microsoft 的 Names of Namespaces 框架设计指南:
DO prefix namespace names with a company name to prevent namespaces from different companies from having the same name.
和
DO use PascalCasing, and separate namespace components with periods (e.g., Microsoft.Office.PowerPoint).
因此,如果您的项目名为 Foo
,您的命名空间将为 MyCompany.Foo
。