dotnet core 編程規範

本文實際只是翻譯 .NET Core foundational libraries 官方文檔的編碼風格html

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

花括號

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

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

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

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

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

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

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

空格

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

字段

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

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

我不是很贊同對字段的風格,可是由於本文是翻譯,我就沒有添加本身的理解。

限定

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

我也不是很贊同這個,由於若是使用擴展方法,須要使用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 縮進一個小於當前縮進的標籤

原文:coding-style.md

dotnet core 編程規範 - CSDN博客

知識共享許可協議
本做品採用知識共享署名-非商業性使用-相同方式共享 4.0 國際許可協議進行許可。歡迎轉載、使用、從新發布,但務必保留文章署名林德熙(包含連接:http://blog.csdn.net/lindexi_gd ),不得用於商業目的,基於本文修改後的做品務必以相同的許可發佈。若有任何疑問,請與我聯繫

相關文章
相關標籤/搜索