• 变量命名规则


    参考链接:http://www.cnblogs.com/onedime/archive/2012/11/21/2780149.html

    必须遵守的规则

      1.变量名只能是字母(A-Z,a-z)、数字(0-9)或下划线。


      2.第一个字母不能是数字,例如2Lerver这不是一个合法的C++变量。 
     
      3.不能是关键字,例如不能用struct这个单词来命名一个变量。

        4.区分大小写,例如iA和ia是两个不同的变量。

      理论上,在遵守了上面几条规则的前提下,所声明的变量名称都是合法的。比如下面的命名:
        char  xueshengming[20];    //学生名
        char  a;                   //命名一个字符,但变量名毫无意义,不方便阅读和记忆

    建议命名规则

    一、用最短的字符表示最多的意义。
      int iPosX;     //Pos表示位置,X表示横坐标   //通常个人喜欢加下划线进行区分,如 Pos_X

    二、使用变量前缀
      在变量前带上小写前缀可以很直观的看出变量的数据类型,而不必到变量的定义处去查看。

      常用的数据类型推荐变量前缀:
      (个人通常喜欢写成  前缀_变量名,或 前缀(小写)+变量名(大写字母开头))
      1.整型的前缀
      short sValue;       //s为short的前缀 int iAge;         //i为int的前缀
      unsigned int uiAge;   //ui为unsigned int的前缀(两个单词的首字母) //也有用u做前缀的
      long lValue;        //l为long的前缀 

      2.浮点型的前缀
      float fScore;      //f为float的前缀
      double dValue;   //d为double的前缀 

      3.字符型的前缀
      char cChar;      //c为char的前缀 

      4.字符串的前缀
      char szName[30];  //sz为C语言字符串的前缀 string strName;   //str为C++字符串变量的前缀 CString strInfo;  //str为MFC字符串变量的前缀

      5.布尔型的前缀
      bool bPass;      //b为bool的前缀 

      6.指针型的前缀 
       int *pValue;    //p为指针的前缀
      说明:由于指针是指向一定数据类型的变量,因此p后面要不要再加一个前缀一直让我举棋不定。如果再加上前缀比如:      int * piKey;  
      char * pszInfo;
      这样似乎意义更完整,但势必会增加变量的字符长度。因此,这里就不硬性规定了。但是,指针变量以p开头应该是雷也打不动的。


      7.数组的前缀   int arrNum[10];  //arr为数组的前缀
     
      说明:和指针变量一样,arr后是否再加数组元素的数据类型前缀取决于你自己。 string arrstrName[3];  //C++字符串数组,加上去似乎很别扭

      8.枚举变量的前缀 
       enum  emWeek;    //em为枚举变量的前缀

      9.结构变量的前缀:t
      T_NODE  tNode;    //结构名称以T_开头 10.字节变量的前缀:by BYTE  byInfo;

      10.字节变量的前缀:by BYTE  byInfo;

      11.字变量的前缀
      DWORD  dwInfo;    //双字 WORD    wInfo;    //单字 

      12.字符指针的前缀
      LPCTSTR  ptszInfo;     //ptsz表示前缀,t表示TCHAR类型 LPCSTR  pszInfo; LPSTR  pszInfo; 

      13.STL容器类型前缀 vector<int>  vecValue;  
      说明:vec表示vector容器的前缀,为了简化变量,变量体后面不再使用前缀 list<double>  lstInfo; 

      14.MFC绑定控件变量的前缀
      CEdit  m_ctlName;      //对象变量,变量体前统一用ctl表示 //个人喜欢用m_ctrl
      int    m_iAge;    //值变量,变量体有表示值数据类型的前缀
      说明:由于长短指针在32位操作系统后已无区别,所以不再区分,一律以p开头,这也与指针变量以p开头的原则贴得更近。

      15.矩形结构的前缀:

      rc RECT  rcClient;    CRect  rcWin;

      16.句柄对象一律以h开头

       HWND hWndName; HBRUSH  hBr; HPEN  hPen; HBITMAP  hBmpBack;

      17.windows颜色类型的前缀:

      cr COLORREF crFront;   

      18.windows中DC(设备上下文)类型的前缀 

      CClientDC  dcClient;

    三、类的成员变量以m_开头,后面为变量体,变量体依然要有前缀。

      int  m_iDepth;

    四、定义一个变量,为了简化,在不影响变量意义的情况下,可以仅仅使用前缀。 RECT  rc;

    五、全局变量一律以g_开头,后面为变量体,变量体依然要有前缀。 int  g_iNums;

    六、定义结构体为了保证和C语言和C++的写法兼容性,一律采用typedef语句。 

      typedef   struct  tagINFO_NODE {
      int  iData;
      tagINFO_NODE *pNext; }T_INFO_NODE, *PT_INFO_NODE;

    七、变量体如果是多个单词,每个单词的首字母大写。

       int iStudentAge;

    八、在意义明确的情况下可以仅仅使用首字母命名变量可以缩短变量名。

       int iID;
      说明:仅使用首字母表示变量体的前提是保证变量的意义,比如变量iStudentAge如果声明成:
      int  iSA;         //这样将失去意义,不可取

      虽然这样可以少码一些代码,很容易出现当时知道含义,后面来看不知道含义的情况。而且由于现在的编辑器大多有自动补全功能,不建议这么做。

    本文由个人收集网络资料整理而成,部分资料来源不明确,如有侵权请联系作者。另欢迎大家交流分享,转载请注明出处。谢谢!
  • 相关阅读:
    HTML与css语法笔记
    HTML标记含义
    HTML-入门篇day01
    计算器
    九宫格
    5.28第十三周
    5.21 不用交得作业及答案
    5.22 上交作业
    5.15作业
    5.7作业
  • 原文地址:https://www.cnblogs.com/wangsens/p/7612459.html
Copyright © 2020-2023  润新知