「代碼是給人看的,順便能在機器上跑。」好的撰寫風格不僅關乎美觀,更直接影響團隊協作效率、代碼審查品質、長期維護成本。許多軟體公司將風格規範納入強制規範(縮排、命名、空行、註解密度等)。本文從視覺層面剖析優良風格的核心要素。
// 1. 控制結構層級
void Alert(int i) {
while (i > 0) { // 層級 1
Beep(1000, 1000); // 層級 2
i--; // 層級 2
}
}
// 2. 變數集中宣告對齊
int i;
DWORD dwData;
LPTSTR lpszName;
// 3. 多參數函數呼叫換行對齊
CreateWindowEx(
0,
"MyClass",
"My Window",
WS_OVERLAPPEDWINDOW | WS_HSCROLL | WS_VSCROLL,
CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
(HWND)NULL, (HMENU)NULL, hInstance, NULL
);
TextOut(hDC, 10, 10, "Testing...", 10);i = 10 * (123 + 100 / 5);if ((a > b) && (c < d) && (e == f))if (cond) { while (cond) { for (;;) {Func (x)),括號內側加空格(( x ))。原則:**相關緊湊、不相關分隔**。具體:
GetXPos() / GetYPos(),不可混用 GetYPosition()。cursorX 優於 cx;maxRetryCount 優於 mrc。m_var、Get/Set、OnEvent;Qt 用 m_var、camelCase;Linux 核心用 snake_case。userName 而非 yongHuMing;不懂英文查字典,養成國際化習慣。MAX_BUFFER_SIZE;巨集同樣。CSerialPort;變數/函數 camelCase:openPort()。i++;)免註解。return(守衛子句除外)。goto、else goto、else return。switch/查表法,避免超過 5 層巢狀 if/else。break/continue。return a > 0 && b < 10;風格規範不是束縛,而是**自由的前提**——統一風格讓團隊成員能專注於業務邏輯而非格式糾葛。建議團隊採用成熟指南(Google C++ Style Guide、LLVM Coding Standards、Microsoft All-In-One Code Framework)並配合 clang-format/uncrustify 自動化強制執行。從今天開始,寫出讓同事(包含半年後的自己)讀起來舒服的代碼。