首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> VC >> VC 教學

C/C++ 命名規範核心原則:從通用規則到 Windows 風格實踐

     編輯:VC 教學

第 3 章 命名規則

微軟的「匈牙利命名法」雖知名,但最大缺點是繁瑣。例如 int i, j, k; 須改成 int iI, iJ, iK;,讓多數程式設計師無法忍受。現實中不存在讓所有人滿意的命名規則,關鍵在於制定團隊多數人接受的規範並貫徹執行。

3.1 共性規則(大多數程式設計師認同)

規則 3-1-1:識別子應直觀可讀、望文知義

採用英文單字或組合,禁用漢語拼音。用詞準確,如 CurrentValue 優於 NowValue。

規則 3-1-2:長度遵循「min-length && max-information」原則

現代 C++ 無長度限制,長名稱能更好表達含義。但非越長越好,maxval 優於 maxValueUntilOverflow。單字元名稱(i,j,k,m,n,x,y,z)適合函式內區域變數。

規則 3-1-3:風格與作業系統/開發工具一致

  • Windows 慣用 大小寫混排:AddChild
  • Unix 慣用 小寫加底線:add_child
  • 嚴禁混用兩種風格。

規則 3-1-4:避免僅靠大小寫區分的相似識別子

int x, X;           // 易混淆
void foo(int x);
void FOO(float x);  // 易混淆

規則 3-1-5:避免同名區域與全域變數

雖作用域不同不會語法錯誤,但極易誤解。

規則 3-1-6:變數名用「名詞」或「形容詞+名詞」

float value;
float oldValue;
float newValue;

規則 3-1-7:函式命名規範

  • 全域函式:動詞或動詞+名詞(動賓結構),如 DrawBox()
  • 類別成員函式:僅用動詞,省略的名詞即物件本身,如 box->Draw()

3.2 簡化版 Windows 命名規則

作者對匈牙利法做合理簡化,適合 Windows 應用開發:

規則說明範例
3-2-1類別名、函式名:大寫開頭單字組合class Node; void SetValue(int)
3-2-2變數、參數:小寫開頭單字組合BOOL flag; int drawMode;
3-2-3常數:全大寫,底線分隔const int MAX_LENGTH = 100;
3-2-4靜態變數:前綴 s_static int s_initValue;
3-2-5全域變數(不得已時):前綴 g_int g_howManyPeople;
3-2-6類別資料成員:前綴 m_(避免與參數同名)m_width = width;
3-2-7庫識別符加前綴防衝突OpenGL 函式 gl*,常數 GL_*

3.3 Unix 命名規則

原文此處缺失

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved