程式碼不僅是給電腦執行的指令,更是給人閱讀、維護、傳承的文獻。本文不談語法技巧,專注於編碼風格——命名、註釋、排版、介面設計——這些決定專案長期存活品質的軟性實力。
i := i + 1; // i 加 1 只會增加噪音| 慣例 | 範例 | 適用對象 |
|---|---|---|
| 全域變數大寫開頭 | GlobalConfig | 全域變數、常數 |
| 常數全大寫底線分隔 | MAX_RETRY_COUNT | 常數、列舉值 |
| 指標以 p 結尾 | NodePtr / pNode | 指標變數 |
| 函式用動詞/動詞片語 | CalculateTotal, LoadUserProfile | 函式、方法 |
| 布林函式/變數用 Is/Has/Can 開頭 | IsValid, HasPermission | 布林型別 |
| 區域變數簡短 | i, j, tmp | 迴圈計數、暫存 |
專案內統一慣例,若無慣例,請先建立一份 CodingStyle.md。
begin ... end 或 { ... } 選一堅持if (a and b) or (c and d) thenHasPermission := (User.Role = 'Admin') and (Resource.Owner = User.Id);SaveAndNotify)Create/Free、Open/Close、Lock/Unlock 成對出現於同一函式層級try...except 替代 ifResult := False; Exit; 或 raise 模式風格不是文檔,是肌肉記憶。寫第一行碼時就在意縮排、命名、括號,久而久之潛意識接管細節,即便在趕工期壓力下,產出的碼依然整潔。草率的碼不僅難讀,更藏著崩潰的種子;好風格是降低維護成本、提升團隊信任的最高性價比投資。
「程式寫給人看,順便能在電腦上跑。」—— Harold Abelson, SICP