2009-06-24 75 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
  • 任何外部/第三方命名空間
  • 公司內部命名空間 - 普通/核心
  • 公司內部命名空間 - 本地/項目

朝向範圍較窄範圍較廣開始......