dotnet core 編程規範

在 .NET Core foundational libraries項目使用的編程規範默認就是 VisualStudio 默認樣式。html

花括號

花括號使用 Allman style 風格,全部的花括號在新的一行開始。git

關於 Allman style 就是以下,花括號放在下一行,並且花括號不進行縮進,花括號裏面的代碼縮進。github

while (x == y) { something(); somethingelse(); }while (x == y) { something(); somethingelse(); }

可是對於單行的語句,能夠不添加花括號,可是請把它放在同一行編程

 if (xx == null) xx = new Foo();if (xx == null) xx = new Foo();

單行語句一樣建議添加花括號避免蘋果的bugapp

若是不添加花括號,必定不要在嵌套時使用。函數

空格

使用 4 個空格做爲一個縮進,而不是使用 tabthis

字段

全部的字段使用_camelCase風格,並且儘量使用readonly。在 internal 和 private 訪問的字段添加 _ 前綴,對於靜態的字段添加s_前綴,對於線程靜態的字段添加t_前綴。若是使用了靜態的字段並且能夠設置readonly,須要把readonly放在static後面。spa

最好不要公開字段,若是須要公開那麼使用PascalCasing風格並且不添加前綴。線程

限定

不要添加 this. ,徹底是不必的。code

我也不是很贊同這個,由於若是使用擴展方法,須要使用this.

訪問

顯示指定訪問,即便訪問是默認的,如private string _foo ,而不是string _foo。訪問須要放在最前面,如public abstract,不建議abstract public

默認的訪問是可能修改的

命名空間

對於引用須要放在文件的開頭。

空行

禁止超過一行的空白,不可使用兩行空白。

不要使用兩行分割兩個類型。

多餘空格

禁止在一行結束添加多餘空格。經過 VisualStudio 的查看空格(ctrl+E,S)能夠看到空格

參照現有

若是一個文件在格式規範定義以前已經有本身的規範,儘量參照文件現有的規範而不是去修改他。

新的修改參照現有的文件的格式。

我一點都不贊同。

明顯的類型

只能在明顯能夠知道對象類型可使用 var ,如var stream = new FileStream(...) 。在沒法明顯知道對象類型不可使用 var ,如var stream = OpenStandardInput() 。

關鍵字

使用語言的關鍵字代替 BCL 類型,如使用 int, string, float代替Int32StringSingle

常量命名

對於全部的常量,包括靜態只讀,使用 PascalCasing 風格。若是須要使用 C++ 或其餘代碼對於命名有要求才可使用其餘的方法。

變量名字符串

若是使用變量名的常量,必須使用 nameof 關鍵字。

字段結構

字段必須放在一個類聲明的最前面。

我一點都不同意,由於誰會去管一個類的字段,我關心的是構造函數和公開屬性、函數。

其餘字符

若是在代碼使用了 非 ascii 的字符,那麼須要把他轉換爲 \uxx 方式,這樣能夠解決一些非 ascii 由於編譯器分析的問題。

固然上面的要求只是對於編譯的代碼

Label

使用 Label 縮進一個小於當前縮進的標籤

相關文章
相關標籤/搜索