清洁代码应该为实体使用简短有意义的名称.因此,由于考虑到,比如说涉及的应用程序,机器人,我希望有一个类库项目Robot与命名空间Robot,有一个类Robot.让我们假设只有一个机器人对象,例如Hubot的代码.
但是,在C#中命名一个与其命名空间相同的类名是一个非常糟糕的主意.
避免命名空间和类型名称冲突的准则是什么?
具体来说,考虑到上面的情况,如果我想保留类名,我该如何命名命名空间Robot?
准则非常明确:名称空间System应该是Company.Technology.这样可以明确消除歧义,并使用户更容易发现哪些命名空间与哪些技术相关联.请记住,命名空间的主要目的不是避免冲突,而是开发人员的工作效率.
指南在这里:
http://msdn.microsoft.com/en-us/library/893ke618(v=vs.71).aspx
您的命名空间应该是这样的:
namespace MrtsCorp.Robotics
{
public sealed class Robot
{
...
Run Code Online (Sandbox Code Playgroud)
如果您想查看这种命名空间的合理模型,请尝试以下方法:
http://msdn.microsoft.com/en-us/library/dd159952.aspx
对于名称相似的命名空间我并不感到兴奋,这些命名空间Ccr只对领域专家很明确,但Microsoft.Robotics.Simulation很好描述.