大括號 {} 不僅是語法符號,更是代碼可讀性、可維護性的關鍵。規範使用能體現工程師專業素養。
char szString[100] = {0}; // 全部元素置 0,防止未初始化引用
typedef struct {
// 成員...
} T_Struct;
T_Struct tStruct = {0}; // 必須初始化,良好習慣
許多開發者忽略結構體初始化,**任何變量使用前必須初始化**。
規則 (1):大括號自成一行,執行語句不緊跟其後,**無論語句條數皆加 {}**
// 反例:可讀性差,難維護
if (iIntVal1 < iIntVal2) iIntVal1 = iIntVal2;
// 正例:清晰明確
if (iIntVal1 < iIntVal2) {
iIntVal1 = iIntVal2;
}
規則 (2):{ 和 } 獨佔一行,同列左對齊,內部代碼縮進 4 空格
// 反例:凌亂
if (iIntVal1 < iIntVal2)
{
iIntVal1 = iIntVal2;
}
規則 (1):必須有 default 分支,即使 case 覆蓋所有情況(防止誤讀、體現思維全面)
規則 (2):每個 case/default 用 {} 括起,內容縮進 4 空格
規則 (3):break 寫在 {} 內部,體現塊整體性
// 正例
switch (iSwitchFlag) {
case 1: {
DoSomething1();
break;
}
case 2: {
DoSomething2();
break;
}
case 3: {
DoSomething3();
break;
}
default: {
DoNothing();
break;
}
}
// 反例:break 在外、缺 default、縮進混亂
switch (iSwitchFlag) {
case 1: { DoSomething1(); } break;
case 2: { DoSomething2(); } break;
// ...
}
用法 (1) 分隔功能塊:功能關聯度低的代碼段用 {} 隔離,增強可讀性
void ExampleFun(void) {
// 功能 A
{
// 實現代碼
}
// 功能 B
{
// 實現代碼
}
// 功能 C
{
// 實現代碼
}
}
用法 (2) 突出變更代碼:大函數中少量增刪代碼用 {} 括起,便於走查
void ExampleFun(void) {
// ... 原有代碼 ...
// 修改/添加代碼塊
{
// 變更代碼
}
// ... 原有代碼 ...
}
善用大括號能顯著提升代碼規範性、可讀性與維護效率。編程規範是永恆課題,專業工程師應持續打磨代碼風格。