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

VC++ 程式碼規範全攻略:從命名慣例到架構設計的工程化實踐

     編輯:VC 教學

核心原則:簡潔、可讀、可維護

優秀的程式碼不僅能跑通邏輯,更要讓人易讀、易改、易傳承。本規範涵蓋結構、可讀性、正確性、重用性四大維度,助力團隊產出高質量 C++ 代碼。

一、 基礎結構要求

  • 單一函數不超過 100 行,邏輯單一、層次清晰;
  • 拒絕冗餘代碼,優先複用標準庫與公共組件;
  • 嚴控全域變數,優先使用區域變數降低耦合;
  • 善用括號消除歧義,防止運算優先級陷阱。

二、 可讀性鐵律

註釋與文檔

  • 檔案頭、函數頭、關鍵變數、複雜演算法必須有註釋;
  • 註釋與代碼同步維護,佔總行數 20%~33%;
  • 縮進統一用 Tab(6 字節),邏輯層次不超 5 層。

程式碼風格

  • 空行、空白也是文檔一部分,合理分隔邏輯塊;
  • 顯而易見的語句免註釋,減少噪音;
  • 常量宏定義全大寫 + 底線,附帶用途說明。

三、 結構化編程鐵律

  • 禁用 GOTO、ELSE GOTO、ELSE RETURN;
  • 多路分支用 CASE,雙分支用 IF;
  • 迴圈單一出口,函數單一返回點;
  • 避免條件賦值,邏輯表達式優於條件分支。

四、 正確性與容錯底線

  • 所有變數使用前必須初始化;
  • 用戶輸入全維度合法性校驗;
  • 浮點數絕不直接比較相等(如 10.0 * 0.1 == 1.0 不可靠);
  • 外部資源(檔案、印表機等)主動檢測異常;
  • 單元測試是開發流程強制環節,未通過不得提交聯調。

五、 可重用性設計

  • 獨立功能封裝為公共控件/類,遵循 OO 封裝原則;
  • 提供使用範本,降低接入門檻;
  • 減少外部依賴,提升模組獨立性。

附錄:C++ 命名規範速查表

變數前綴(匈牙利變體)

類型前綴範例
BOOLbbEnable
char*ch / sz / strchText, szAppName
類對象ccMain
HandlehhWnd
inti / niTmp, nCmdShow
指標ppNode
DWORDdwdwStart
成員變數m_m_nVal
全域變數g_g_nMsg

常見資源 ID 命名

  • 選單:IDM_XX / CM_XX
  • 位圖:IDB_XX
  • 對話框:IDD_XX
  • 字串:IDS_XX
  • 圖示:IDR_XX

函數命名

  • 首字母大寫,駝峰式:UpdateDB_Tfgd()、PrintTrackData()
  • 註明來源模組:// Module: r01/sdw.c

結構體命名

  • 類型全大寫 + 底線開頭:_DBS_DATABASE
  • 變數駝峰式:GdataBase

控件前綴

  • fm 視窗、cmd 按鈕、cob 下拉框、txt 編輯框、lab 標籤、lst 列表框、grd 網格、scr 滾動條

程式碼審查清單

  • 邏輯清晰、避免過度技巧、慎用遞歸;
  • 編碼同步設計測試用例;
  • 大括號對齊,縮進 4 空格(Tab=4);
  • 版本封存後修改舊碼用 /* */ 封存並記錄變更;
  • 關鍵區塊與特殊呼叫必註釋意圖。

Delphi / C++Builder 專屬補充

  • 視窗類:WAbout、檔案:FAbout.cpp
  • 按鈕:btnExit、基類標記 Base:WBaseRep
  • 遵循匈牙利命名法,名稱必須有業務含義。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved