首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> C# >> 關於C#

C# 程式碼撰寫規範(下):陳述式、控制項命名、程式結構與例外處理完整標準

     編輯:關於C#

本文為 C# 程式碼規範第二部分,涵蓋陳述式格式、控制項命名慣例、程式結構原則、例外處理策略與其他進階規範。

第六章 陳述式規範

6.1 每行一個陳述式


a++; // 推薦
b--; // 推薦
a++; b--; // 不推薦

6.2 複合陳述式

  • 子陳述式縮排
  • 左大括號另起一行並與父陳述式對齊
  • 即使單行也必須加大括號

while (d += s++) {
    n++;
}

6.3 return 陳述式

不加括號,除非增加清晰度:


return;
return myDisk.Size();
return (size ? size : defaultSize);

6.4-6.9 控制流程陳述式標準格式

if/else、for/foreach、while、do-while、switch-case、try-catch-finally、using 皆採一致大括號風格與縮排。

switch 關鍵規則:每個 case 佔一行、按字母排序、必須有 default、非空 case 必須以 break 結束。

第七章 控制項命名規則

格式:控制項縮寫 + 英文描述(首字大寫)

控制項縮寫控制項縮寫
LabellblTextBoxtxt
ButtonbtnLinkButtonlnkbtn
DropDownListddlDataGriddg
CheckBoxchkRadioButtonrdo
RequiredFieldValidatorrfvRegularExpressionValidatorrev

第八章 程式結構規範

8.1 結構原則

  • 單一函數不超過 100 行,檔案不超過 2000 行
  • 方法 1-25 行為宜,超過 25 行拆分
  • 盡用 .NET 基底類別庫與共用函數
  • 避免全域變數,優先區域變數
  • 方法名自述功能,避免誤導性命名
  • 避免過深巢狀迴圈與條件判斷
  • 成員變數不跨方法共享
  • 魔術數字改用常數

8.2 撰寫細節

  • 命名空間:系統優先,第三方次之,空行分隔
  • 類別成員變數置頂,空行與方法隔開
  • 避免連續指派 x = y = z
  • 離散值使用 enum 而非字串/數字
  • 單一職責:一個方法只做一件事
  • 括號明確表達運算優先順序
  • 陣列以零為基底
  • 目錄結構反映命名空間層級

第九章 例外處理

  • 嚴禁「吞掉例外」不處理
  • 使用者友善訊息 + 詳細錯誤記錄(時間、方法、類別)
  • 僅在特定例外可能發生處使用 try-catch
  • 拆分細粒度 try-catch 區塊,精準定位錯誤來源
  • 捕捉具體例外類型,避免捕捉 Exception
  • 錯誤處理優先用例外,勿用回傳值碼

第十章 其他進階規範

  • 型別轉換優先用 as 安全轉型
  • 程式正確性優於優美,完成後必須回頭檢查
  • 修改前評估衝擊範圍
  • 所有使用者輸入必須驗證
  • 避免浮點數直接比較相等
  • 單元測試為開發一環,聯測前必須通過
  • 可重用邏輯封裝為服務或類別,遵循 OO 封裝原則
  • 勿手動修改機器產生程式碼,善用 partial class
  • 組件僅一個 Main 入口
  • 最小化 public 介面,內部用 internal
  • 避免三元運算子、unsafe 程式碼
  • 介面成員與類別成員比約 2:1,介面 3-5 成員為宜
  • 結構避免定義方法,建構函數與運算子多載除外
  • 能早期繫結避免晚期繫結
  • this 僅用於建構函數鏈呼叫
  • base 僅用於建構函數或解決名稱衝突
  • 長字串建構必須用 StringBuilder
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved