软件编码规范

上传人:s9****2 文档编号:497947908 上传时间:2023-01-15 格式:DOC 页数:14 大小:167KB
返回 下载 相关 举报
软件编码规范_第1页
第1页 / 共14页
软件编码规范_第2页
第2页 / 共14页
软件编码规范_第3页
第3页 / 共14页
软件编码规范_第4页
第4页 / 共14页
软件编码规范_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《软件编码规范》由会员分享,可在线阅读,更多相关《软件编码规范(14页珍藏版)》请在金锄头文库上搜索。

1、软件编码规范C+版 Ver1.1(草稿) 项目: 时间: 编号: 天正软件编码规范一、 命名规范1、 通则1.1、 在所有命名中,都应使用标准的英文单词或缩写,避免使用汉语拼音。1.2、 所有命名都应遵循达意原则,即名称应含义清晰、明确。1.3、 所有命名都不易过长,在可表达清晰的前提下越简洁越好。1.4、 所有命名都应尽量使用全称。1.5、 在类型名称特别复杂的时候,应使用typedef来定义别名。2、 标识符2.1、 标识符的命名要清晰、明了,有明确含义,同时使用完整的单词或大家基本可以理解的缩写,避免使人产生误解。(较短的单词可通过去掉“元音”形成缩写;较长的单词可取单词的头几个字母形成

2、缩写;一些单词有大家公认的缩写)如下单词的常用缩写application appargument argaverage avgblock blkbuffer bufcommand cmdcontrol ctrldatabase dbdelete deldescription descdialog dlgdictionary dictdimension dimdistance distdocument docentity entescape escflag flgincrease incinformation infolength lenlibrary libmanager mgrmemory

3、memmessage msgobject objpassword pwdpicture picployline plinepointer ptrposition posrecord recreference refresource rscscreen scrserver srvsource srcsystem systemp tmptext txtversion verwindow wndVC+中常用控件缩写Animate aniCheck Box chkComboBox cmbEdit edtGroup Box grpListBox lstPicture picProgress prgPus

4、h Button btnRadio Button radScroll Bar sbSlider sldStatic stcTab Control tab2北京天正工程软件有限公司 Beijing Tangent Engineering Software Co. Ltd.2.2、 长的标识符应使用缩写来缩短长度,而特短的标识符应该避免使用缩写。更恰当:int iFlagHMODULE hLoadedSysRsc不恰当:int iFlgHMODULE hLoadedSystemResource2.3、 变量和封装体命名中单词或缩写的第一个字母应大写,其它字母小写,单词和单词之间直接连接,不得有其它

5、字符。在宏定义中全部用大写,单词与单词之间必须用下划线连接。正确:TempResource#define REG_KEY错误:Temp_Resource temp_resourcetempresource#define Reg_Key2.4、 除了编译开关/头文件等特殊应用,应避免使用_EXAMPLE_TEST_之类以下划线开始和结尾的定义。2.5、 对于变量命名,禁止取单个字符(如i、j、k.),命名除了要有具体含义外,还能表明其变量类型、数据类型等,但i、j、k等作局部循环变量是允许的。2.6、 命名时,如果需要进一步分类时,分类属性应放在前面。正确:CListBox m_wndLstFo

6、nts;CComboBox m_wndCmbColors;错误:CListBox m_wndFontsLst;CComboBox m_wndColorsCmb;2.7、 命名中若使用特殊约定或缩写,则要有注释说明。(应该在源文件的开始之处,对文件中所使用的缩写或约定,特别是特殊的缩写,进行必要的注释说明)2.8、 在命名规范中没有规定到的地方,才可以使用自己特有的命名风格,要自始至终保持一致,不可来回变化。2.9、 除非必要,不要用数字或较奇怪的字符来定义标识符。正确:#define EXAMPLE_TESTTestLockDriver错误:#define EXAMPLE_0Test1232.

7、10、 在同一软件产品内,应规划好接口部分标识符的命名,防止编译、链接时产生冲突,可在普通标识基础上加上模块标识。示例:在TGRX模块中可定义为 CTGRxObject g_rxRegistry在TGDB模块中可定义为 CTGDbBlockRecord g_dbGlobal在TGGui模块中可定义为 CTGUiFrameWnd g_uiCmdMgr2.11、 命名规范必须与所使用的系统风格保持一致,并在同一项目中统一,比如有关STL的代码应使用STL中的全小写加下划线的风格,有关MFC的代码则使用大小写混排的方式。3、 封装体3.1、 采用前缀和以大写开头的英文单词或缩写组成,即:前缀 + 标

8、识符。简写 类型 说明C class 类S struct 结构体E enum 枚举U union 联合体示例:class CTree ;struct SResBuf ;enum ESeekType ;union UResVal;4、 变量4.1、 变量命名应遵循匈牙利记法,即:前缀 + 类型 + 标识符。4.2、 前缀简写 类型 说明m_ class member 类的成员变量s_ static variable 静态全局变量g_ global variable 普通全局变量注意:1、 struct/union中的成员变量不加前缀,即:类型 + 标识符2、 const成员变量应使用k + 标识

9、符3、 enum中的成员应使用k + 标识符示例:m_arsName m_lFilePoss_cConfig s_iLoopTimesg_hResouce g_sModuleNamestruct STreeDataHICON hTreeIcon;TCHAR szTreeName;;class CVector3dconst CVector3d kIdentity;const CVector3d kXAxis;enum EDirectionkLeft,kRight,;enum EErrorStatuskOk,kOutOfMemory,;4.3、 类型基本类型简写 类型 说明by byte 字节b bool 布尔型n short 短整型n UINT 无符号整型i int 整型l long 长整型w WORD 双字节dw DWORD 四字节f float 浮点数d double 双精度数ch char 字符型sz char 以0结尾的字符串cr COLORREF color refpsz LPCTSTR const

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号