2009-06-24 79 views
1

我不得不想出一个问题,这不是主观的方式,所以这是专门针对微软的编码风格。在ASP.NET MVC源代码文件看起来像这样:微软编码风格问题

// Copyright info 

namespace System.Web.Mvc { 
    using System; 

    // blah blah 
    // ... 
} 

注意,“使用系统”排队很好地与命名空间。如果我将这种风格应用到我公司的代码中,我是否应该在公司的名称空间中直接使用“使用”语句(以便它们排成一行)?当我把'使用'声明放在顶部时,我通常首先从.NET命名空间开始,这就是为什么我不确定。举例来说,我应该这样做:

namespace MyCompany.MyProduct.Something { 
    using System; 
    using MyCompany.MyProduct.SomethingElse; 
} 

或本:

namespace MyCompany.MyProduct.Something { 
    using MyCompany.MyProduct.SomethingElse; 
    using System; 
} 

我向后者动心。

+3

这真的是一个很大的决定?我的意思是......真的吗? – rball 2009-06-24 17:03:23

+0

这就是说,如果你的团队要唱出同样的编码标准赞美诗表。 – Kev 2009-06-24 17:06:05

+0

怎么样?如果你希望你的团队遵循相同的编码标准,那么这是一个决定,但它是一个大的?为什么不选择其中之一并说“这就是我们要做的事情”? – jalf 2009-06-24 17:16:50

回答

7

尽管已经尝试巩固其标准化,但没有单一的微软风格。

话虽这么说,StyleCop强制所有系统命名空间列在首位...

1

微软决定了StyleCop使用系统。*第一那么你的自定义库的命名空间(即第一个选项)。

0

你在这里有两件事情。

  1. Alignment - 他们没有排列任何东西。他们使用4个空格缩进(缺省值)
  2. 使用语句的顺序 - 通常您会首先找到系统命名空间。在,你会发现级别的层次结构:

    using System; 
    using System.Collections; 
    using System.Collections.Specialized; 
    
0

我遵循的惯例是:

  • 系统命名空间
  • 微软namespeces
  • 任何外部/第三方命名空间
  • 公司内部命名空间 - 普通/核心
  • 公司内部命名空间 - 本地/项目

朝向范围较窄范围较广开始......