CodeMaid与Stylecop使用组织

Kaj*_*ama 20 c# stylecop

我使用StyleCop已经有一段时间了(我已经习惯了).我的朋友建议我也尝试CodeMaid.我注意到的第一件事是使用组织的差异.

Stylecop按字母顺序使用订单,其中首先列出系统使用,下面列出非系统使用.

CodeMaid也按字母顺序命令使用,但它不首先命令系统使用.它只按字母顺序排序

我遇到的另一件事是CodeMaid允许你在命名空间之外使用(据我所知,最好将所有使用放在命名空间内)

我想问一下使用的正确顺序是什么,最终为什么?

Ste*_*der 51

免责声明:我写了CodeMaid.

  1. 对于首先使用语句的系统,Microsoft在Visual Studio 2012中更改了默认首选项,因为它们开始引入"Windows".组件.更多详细信息:使用按错误顺序排序的指令

您可以使用工具 - >选项 - >文本编辑器 - > C# - >高级 - >"放置'系统'指令,轻松地将其更改回VS2010默认值".CodeMaid尊重Visual Studio定义的首选项,默认情况下不首先放置System指令.

  1. 对于在命名空间内使用语句,我们的待办事项是支持https://trello.com/c/CLRxsIyc.StyleCop可能会将其声明为标准,但如果您查看MSDN示例,Visual Studio模板等,您会发现在命名空间之外使用语句更为常规.关于这个问题存在很多争论,我们的目标是支持这两种方法.

希望能帮助到你.:)

  • 很高兴听到两个新闻史蒂夫.+1 (2认同)

Pat*_*irk 6

没有"正确"的排序,只有惯例.Stylecop的SA1210规则明确规定System名称空间首先放置:

如果using指令不按名称空间按字母顺序排序,则会违反此规则.按字母顺序对using指令进行排序使代码更清晰,更易于阅读,并有助于更轻松地识别代码使用的命名空间.System命名空间是此规则的一个例外,并且始终位于所有其他命名空间之前.有关详细信息,请参阅SA1208.

规则SA1208规定System命名空间必须在其他命名空间之前,并且推理是:

在using指令的顶部放置所有使用指令的系统可以使代码更清晰,更易于阅读,并且可以帮助更容易地识别代码使用的命名空间.

Stylecop的规则是约定,Codemaid选择了略有不同的约定.选择你喜欢的那个并继续做出更重要的决定.

有关在命名空间之外使用语句,请参阅此问题using.