C++编码规范.docx

上传人:m**** 文档编号:508406909 上传时间:2023-08-06 格式:DOCX 页数:37 大小:69.18KB
返回 下载 相关 举报
C++编码规范.docx_第1页
第1页 / 共37页
C++编码规范.docx_第2页
第2页 / 共37页
C++编码规范.docx_第3页
第3页 / 共37页
C++编码规范.docx_第4页
第4页 / 共37页
C++编码规范.docx_第5页
第5页 / 共37页
点击查看更多>>
资源描述

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

1、北京四方继保自动化股份有限公司作业指导书文件名称:C+编码规范文件编号:SF-研发中心-0X00编制审核批准日期日期日期【规范3.15】“赋值操作符、比较操作符、算术操作符、逻辑操作符、位域操作符,如“=”、 “+=,、=,、“仁气 “+、*”、“,、&,、|”、“”、等二元操作符的前后应当 加空格。【规范3.16 一元操作符如“!”、“、+”、一、&(地址运算符)等前后不加空 格。【规范3.17象“口”、这类操作符前后不加空格。【规范3.18对于表达式比较长的for语句和if语句,为了紧凑起见可以适当地去掉一 些空格,如 for (i=0: i10; i+)和 if (a=b) & (c=

2、2000)/*良好的风格*/if(year=2000)/*不良的风格*/if (a=b) & (c=b&c=d)/*不良的风格*/for (i=0; i10; i+)/*良好的风格*/for(i=0;i10;i+)/*彳、良的风格*/for (i = 0; I 10; i+)/*过多的空格*/x=ab?a:b:/*良好的风格*/x=aFunction();/* 不要写成 b - Function(): */【规范3.19】左括号“(不要紧靠关键字,中间用一个空格隔开。【规范3.20左括号“(” 与方法名之间不要添加任何空格。【规范3.21】没有必要的话不要在返回语句中使用()。上述三规范举例如

3、下:【示例】if (condition)Array. Remove (1);return 1;【规范3.22】左花括号“”放于关键字或方法名的下一行并与之对齐。【规范3.23】左花括号要与相应的右花括号对齐。【规范3.24】通常情况下左花括号“ ”单独成行,不与任何语句并列一行。【规范3.25】 if、while, do语句后一定要使用,即使号中为空或只有一条语句。尽可能在定义变量的同时初始化该变量(就近原则)。【示例】void function()int i = 0;/*/ (注释)int ilntlD = -1; /*/ (注释) for (i = 0; i 10: i+)( if (il

4、ntlD , , 作者/修改者姓名,修改概述* V2.0, 2004-12-10,张王李,添加函数 funcA*/#ifndef _INC_FILENAME/预编译,防止头文件被重复引用#dcfinc INC FILENANfEinclude /标准库的头文件include dbType. h”/自定义的非标准库工程通用头文件Sinclude “rtuType. h/自定义的非标准库本地头文件Sdefine PI 3. 1415926/宏定义(如不得已而需要的话)struct StructName ;结构声明(或typedef形式声明)/ FORWARD REFERENCES引用原型声明等(函

5、数需功能概述)class XXtpub1ic: protected: private:;类声明,注意顺序,先函数再数据/ INLINE METHODS/内嵌函数void FunctionName( ):/ EXTERNAL REFERENCESSendif外部引用说明【规范4.6】程序文件的注释,采用如下格式:/* Copyright (C) 200X-200X北京四方继保自动化股份有限公司/部门All rights reserved.文件名称:f i 1 ename, cpp (或 f i 1 ename. c)摘 要: 当前版本:历史记京:功能概述新版本号,完成口期*-*-*,作者/修改者

6、姓名,修改概述旧版本号,完成日期*-*-*,作者/修改者姓名,修改概述V2.0, 2004-12-10,张王李,添加函数 PuncA*/引用头文件include sysPipc. h”其它模块头文件include “sysKrnl. h”本模块头文件,即本模块需要输出的函数和变量声明全局变星定义供所有模块引用 int sysBook;/本地变量定义static int gFlag:本地函数前置声明static void Loca 1 FunctionName()注:当上面的“本地变量定义和“本地函数前置声明”内容较多时应将上述内容放 到private目录下的“本文件名P.h”,即“sysKrn

7、lP.h”头文件中,并在此处引用,如: include privale/sysKrnlP. h” int main(int argc, char *argv)主函数代码void sysFunctionName( )全局函数代码void Loca1FunctionName( )局部函数代码【规范4.7】函数的注释,采用如下格式:/*函数名称:*函数功能:*函数入口:*输入参数:*输出参数:*返回值:*其它说明:*/int FunctionName(int argl, )【规范4.8】尽量避免在注释中使用缩写,特别是不常用缩写。【规范4.9】注释的位置应与被描述的代码相邻,可以放在代码的上方或右方

8、,不可放在下方。【规范4.10注释语言用中、英文兼有,建议多使用中文。严禁英文和拼音混用。在使 用中文时,必须用/* */注释,且*与注释之间留有空格。使用良好一致的注释风格,大段注释使用如下格式。除首末行外每行顶头用” * 标注。【示例】/* This is the correct format for a multi 1ine comment* in a section of code.*/使用固定的注释提示:【示例】TBD:to be doneBUG:表明BUG的存在LIMITATION:程序的限制BUGFIX:修复BUG记录DEBUG:表明所加代码是为了寻找BIGTRICKY:表明紧随

9、的代码比较敏感,修改要i革慎WARNING:警示COMPILER:表明是为了避免编译器的BLGKLUDGE:表明这段代码写的并不明智3】对于一段非常庞大的代码体(比如函数),在其结尾处放置一个识别注释很有好处。【示例】void foo()a very very long function boby/* foo */用可视的分隔符将相互关联的函数成组。【示例】void foo()/*/ void bar()在一个文件中宏、结构、变量、函数等声明/定义都放在一起,并且在之前加上注释表明其内容。【示例】/*以下为宏定义*/Sdefine/* 注释*/*以下为结构体定义*/typedef struct

10、 /*注释*/ /*注释*/StructName;/*以下为全局变量声明*/第五章命名规则【规范5.1采用大写字母惯例(骆驼式),组成标识符的各个单词以大写字母打头,然 后联接起来,同时有一个匈牙利式的前缀。【规范5.2】程序中不要出现仅靠大小写区分的相似的标识符。【示例】int x, X; /*变量x与X容易混淆*/【规范5.3】程序中不要出现标识符完全相同的局部变量和全局变量,尽管两者的作用域 不同而不会发生语法错误,但会使人误解。【规范5.4】尽量避免名字中出现数字编号(标号除外),如Valuel,Value2等,除非逻辑 上的确需要编号。【示例】如下命名,使人产生疑惑。#define _EXAMPLE_O_TEST_define _EXAMPLE_1_TEST_ void set_sls00( BYTE sis );应改为有意义的单词命名#define _EXAMPLE_UNIT_TEST_define EXAMPl.E ASSERT TESTvoid set_udt_msg_sls( BYTE sis ):【规范5.5】标识符应当直观

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案

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