Skip to content

Instantly share code, notes, and snippets.

@msdos41
Forked from Menglinucas/naming_conventions.md
Created May 10, 2022 07:17
Show Gist options
  • Save msdos41/d67ab4f10d4b944e3cfea63c3775580e to your computer and use it in GitHub Desktop.
Save msdos41/d67ab4f10d4b944e3cfea63c3775580e to your computer and use it in GitHub Desktop.
c++ 命名规范笔记

c++ 命名规范笔记

基本规则

  • 小写之间用下划线连接。全小写格式
  • 大写之间用下划线连接。全大写格式
  • 大、小写混用,不用下划线连接。首字母大写格式,驼峰格式

文件、类、结构体、函数、常量、变量

文件

全小写,an_simple_example.cpp

首字母大写,以C开头,CAnSimpleExample

接口

首字母大写,以I开头,IAnSimpleExample

结构体

全大写,以T开头,TAN_SIMPLE_EXAMPLE

全大写,AN_SIMPLE_EXAMPLE

函数

  • 一般函数:(p)fn开头,TakeAnSimpleExample
  • 保护成员函数:_开头,_TakeAnSimpleExample
  • 私有成员函数:__开头,__TakeAnSimpleExample
  • 虚函数:Do开头,DoTakeAnSimpleExample
  • 回调和事件处理函数:On开头,OnBtnClick, OnTimer

常量

全大写,AN_SIMPLE_EXAMPLE

变量

变量名 = 属性 + 类型 + 对象描述
属性、类型全为小写,对象描述首字母大写。

属性

  • 局部变量:无
  • 全局变量:g_
  • 静态变量:s_
  • 静态全局变量:sg_
  • 类成员变量:m_
  • 类静态成员变量:sm_
  • 进程间共享全局变量:gg_

类型

  • bool, BOOL: b
  • char, TCHAR: ch
  • char[]: sz #string zero
  • string, CString: str
  • LPSTR: lpsz
  • LPCSTR: lpcsz
  • LPCTSTR: lptsz
  • int: n
  • short: s
  • unsigned int: un
  • long: l
  • float: f
  • double: d
  • BYTE: by
  • WORD: w
  • DWORD: dw
  • * : p
  • handle: h
  • Array: arr
  • struct: t
  • enum: em
  • union: uni
  • vector: vec
  • rect: rc
  • color: cr
  • DC: dc
  • MFC control: CONTROL_className, 如CListCtrl m_LC_Name
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment