有關 .NET 技術文檔與命名規範的演變
TLDR
- .NET 技術文件已從 MSDN 全面遷移至 Microsoft Learn 平台。
- 舊版 .NET 文件可於 Microsoft Learn 的「舊版文件」專區查詢。
- C# 私有欄位(Private Field)命名規範已由「不加前綴」演變為「使用底線
_前綴」。 - 現代 .NET 規範(源自 .NET CoreFX)建議:私有欄位使用
_開頭,靜態欄位使用s_開頭,執行緒靜態欄位使用t_開頭。
MSDN 平台的轉型與遷移
什麼情況下會遇到這個問題:當開發者嘗試搜尋舊有的 .NET 技術文件或 API 參考時,可能會發現原有的 MSDN 連結已失效或被重新導向。
過去 .NET 技術文件主要集中在 MSDN(Microsoft Developer Network)平台。目前該平台已正式淘汰,所有內容已遷移至 Microsoft Learn。若需查找舊版 .NET 文件,可前往 Microsoft Learn 舊版文件 進行搜尋。
- 相關遷移說明:MSDN 程式碼庫已淘汰
- 相關遷移說明:MSDN 與 TechNet 移轉至 docs.microsoft.com 的更新
小結論:MSDN 已成為歷史,現行 .NET 技術文件皆統一收錄於 Microsoft Learn。
C# 私有欄位命名規範的演變
什麼情況下會遇到這個問題:在維護跨越不同時期(.NET Framework 與 .NET Core/5+)的專案時,會發現程式碼風格存在顯著差異,導致命名規範不一致。
早期規範:不使用前綴
在早期的 .NET Framework 時代,官方建議不使用任何前綴來標示成員變數。若需區分區域變數與成員變數,建議使用 this. 關鍵字。
現代規範:使用底線前綴
隨著 .NET Core 的發展,官方於 2016 年提出的 .NET CoreFX Coding Style 中確立了新的命名慣例,並在 .NET 5 後成為主流標準。
現代規範建議如下:
- 私人執行個體欄位:使用
_開頭,後接 camelCase。 - 靜態欄位:使用
s_開頭。 - 執行緒靜態欄位:使用
t_開頭。 - 靜態唯讀欄位:
static應置於readonly之前(例如:static readonly)。
驗證結果
觀察 Reference Source 可發現,早期程式碼中存在無前綴、_ 前綴與 m_ 前綴混用的現象。而現代 .NET 原始碼與開源專案已普遍遵循 _ 前綴規範,這不僅提升了程式碼的可讀性,也讓成員變數與區域變數的區分更加直觀。
小結論:現代 .NET 開發應優先採用 _ 前綴的命名規範,以符合官方文件與主流開源專案的風格。
異動歷程
- 初版文件建立。