c++名命规则!

1. 变量的名字应当使用“名词”或者“形容词+名词”。

例如:

float  value;
float  oldValue;
float  newValue;

2. 全局函数的名字应当使用“动词”或者“动词+名词”(动宾词组)。
   类的成员函数应当只使用“动词”,被省略掉的名词就是对象本身。(特殊情况例外)

 例如:
DriveCar();         //全局函数
car->Drive();      //成员函数
car->CarryPassage();      //成员函数
car->CarryGoods();       //成员函数

3. 类名和函数名用大写字母开头的单词组合而成。

例如:

  class Node;                 // 类名
  class LeafNode;            // 类名
  void  Draw(void);          // 函数名
  void  SetValue(int value);  // 函数名

4. 变量和参数用小写字母开头的单词组合而成。

例如:

    BOOL flag;
    int  drawMode;

5. 常量全用大写的字母,用下划线分割单词。

例如:

    const int MAX = 100;
    const int MAX_LENGTH = 100;
6. 静态变量加前缀s_(表示static)。

例如:

       static int s_initValue; // 静态变量

7. 如果不得已需要全局变量,则使全局变量加前缀g_(表示global)。

例如:

int g_howManyPeople;       // 全局变量
int g_howMuchMoney;       // 全局变量

8. 类的数据成员加前缀m_(表示member),这样可以避免数据成员与成员函数的参数同名。

例如:

void Object::SetValue(int width, int height)

{
m_width = width;
m_height = height;

}
9. 对变量的定义,尽量位于函数的开始位置。

10. 变量的命名规则
 a.
变量的命名规则要求用“匈牙利法则”。即开头字母用变量的类型,其余部分用变量的英文意思或其英文意思的缩写,尽量避免用中文的拼音,要求单词的第一个字母应大写。    
    即:     变量名=变量类型+变量的英文意思(或缩写)    
    对非通用的变量,在定义时加入注释说明,变量定义尽量可能放在函数的开始处。    
    见下表:
   
    bool(BOOL)     用b开头     bIsParent    
    byte(BYTE)     用by开头     byFlag    
    short(int)     用n开头     nStepCount    
    long(LONG)     用l开头     lSum    
    char(CHAR)     用c开头     cCount    
    float(FLOAT)     用f开头     fAvg    
    double(DOUBLE)     用d开头     dDeta    
    void(VOID)     用v开头     vVariant    
    unsigned     int(WORD)     用w开头     wCount    
    unsigned     long(DWORD)     用dw开头     dwBroad    
    HANDLE(HINSTANCE)     用h开头     hHandle    
    DWORD     用dw开头     dwWord    
    LPCSTR(LPCTSTR)     用str开头     strString    
    用0结尾的字符串     用sz开头     szFileName
   
 b. 指针变量命名的基本原则为:    
    对一重指针变量的基本原则为:    
    “p”+变量类型前缀+命名    
    如一个float*型应该表示为pfStat    
    对多重指针变量的基本规则为:    
    二重指针:     “pp”+变量类型前缀+命名    
    三重指针:     “ppp”+变量类型前缀+命名    
    ......    
 c. 全局变量用g_开头,如一个全局的长型变量定义为g_lFailCount,即:变量名=g_+变量类型+变量的英文意思(或缩写)    
 d. 静态变量用s_开头,如一个静态的指针变量定义为s_plPerv_Inst,即:     变量名=s_+变量类型+变量的英文意思(或缩写)    
 e. 对枚举类型(enum)中的变量,要求用枚举变量或其缩写做前缀。并且要求用大写。    
    如:enum     cmEMDAYS    
    {    
    EMDAYS_MONDAY;    
    EMDAYS_TUESDAY;    
    ……    
    };    

 f. 对struct、union、class变量的命名要求定义的类型用大写。并要加上前缀,其内部变量的命名规则与变量命名规则一致。    
    结构一般用S开头    
    如:struct     ScmNPoint    
    {    
    int     nX;//点的X位置    
    int     nY;     //点的Y位置    
    };    
    联合体一般用U开头    
    如:     union     UcmLPoint    
    {    
    long     lX;    
    long     lY;    
    }    
    类一般用C开头    
    如:    
    class     CcmFPoint    
    {    
    public:    
    float     fPoint;    
    };    
    对一般的结构应该定义为类模板,为以后的扩展性考虑    
    如:    
    template    
    class     CcmTVector3d    
    {    
    public:    
    TYPE     x,y,z;    
    };    
 g. 对常量(包括错误的编码)命名,要求常量名用大写,常量名用英文表达其意思。    
    如:#define     CM_FILE_NOT_FOUND     CMMAKEHR(0X20B)     其中CM表示类别。    
    对const     的变量要求在变量的命名规则前加入c_,即:c_+变量命名规则;例如:    
    const     char*     c_szFileName;  

11. 为了防止某一软件库中的一些标识符和其它软件库中的冲突,可以为各种标识符加上能反映软件性质的前缀。例如三维图形标准OpenGL的所有库函数均以   gl开头,所有常量(或宏定义)均以GL开头。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值