「可運行代碼」容易,「高效、可維護、團隊友善」才是專業標準。
| 目標 | 慣例 | 範例 |
|---|---|---|
| 類別/介面/方法/屬性/事件 | PascalCase | HelloWorld, CalculateTax |
| 區域變數/參數/私有欄位 | camelCase | totalCount, userName |
| 常數 | PascalCase (不加底線) | MaxRetryCount |
m_strName, nAge ❌ → name, age ✅salary 而非 sal;迴圈索引 i 可接受_HelloWorld.cs// Good
bool SayHello(string name)
{
DateTime now = DateTime.Now;
string msg = $"Hello {name}, time: {now:t}";
MessageBox.Show(msg);
if (msg.Length > 100)
{
return false;
}
return true;
}
// Bad
bool SayHello(string name){
string msg="Hello "+name;
if(msg.Length>100){return false;}
return true;
}
SavePhoneNumber 優於 SaveData + 註解int/string/object 而非 Int32/String/ObjectMailType.Html 而非 "Html"AppDomain.CurrentDomain.BaseDirectory///)catch (Exception)using 區塊管理 IDisposablethrow; 保留堆疊Exception,以 Exception 結尾命名規範非束縛,而是團隊溝通的共同語言。從今天開始,每次 Commit 前自我檢視:
「這段代碼,六個月後的我還能秒懂嗎?」