C代码审查表条款解释.docx

C代码审查表条款解释.docx

ID:62477920

大小:46.41 KB

页数:17页

时间:2021-05-08

C代码审查表条款解释.docx_第1页
C代码审查表条款解释.docx_第2页
C代码审查表条款解释.docx_第3页
C代码审查表条款解释.docx_第4页
C代码审查表条款解释.docx_第5页
资源描述:

《C代码审查表条款解释.docx》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、C代码审查表(条款解释)一、文档说明此文件为广州高科通信设备有限公司《C代码检查表(修订)》的条款解释文件,用于在QC代码检查中配合《C代码检查表》使用。如果此文件与其它相关文件发生冲突或是其它未尽事宜,以公司文件《GK-RU038软件设计C.C++编码暂行规定》为准。二、C代码审查表条款解释1、文件结构1.1头文件和定义文件的名称是否合理?(1)符合基本的命名规则,用相应的英文进行命名,不应该出现仅靠大小写区分的相似的文件名;(2)当某一头文件仅被一个定义文件引用时,比如某些驱动程序,两文件名

2、应该有明确的关联性,例如“drv_21Q50.c“和”drv_21Q50.h“。1.2头文件和定义文件的目录结构是否合理?(1)当一个软件的头文件数目比较多,应将头文件和定义文件分别保存于不同的目录,以便于维护。如可将头文件保存于include目录,将定义文件保存于source目录。(2)如果某些头文件是私有的,它不会被用户的程序直接引用,则没有必要公开其“声明”。为了加强信息隐藏,这些私有的头文件可以和定义文件存放于同一个目录。1.3版权和版本声明是否完整?是否符合标准规定?版权和版本的声明位

3、于头文件和定义文件的开头,主要内容有:(1)版权信息。(2)文件名称,标识符,摘要。(3)当前版本号,作者/修改者,完成日期。(4)版本历史信息。例如:/********************************************************************memory.c-xdrroutineforcoding/decodingWDBmemorystructures*Copyright1998-2002GuangZhouGaoKeCommunicationCo.

4、Ltd.*modificationhistory**01e,30jan96,elpaddedwindll.h,changedxdr_TGT_ADDR_Tinmacro.*01d,10jun95,padIncludedrpc/rpc.h*01a,03oct94,tprwritten.******************************************************************格式详见公司《GK-RU038软件设计C.C++编码暂行规定.doc》。1.4头文件是

5、否使用了ifndef/define/endif预处理块?在某个文件中引用同一个个头文件两次获更多次,将会造成重复定义之类的变异错误。应该使用#ifndef/#define/#endif预处理块防范被多次引用。建议此类宏名应该与文件名一致,而且使用大写,".h”用"_H”代替,例如在一个graphics"头文件中防止重复引用:#ifndefGRAPHICS_H/*防止graphics.h被重复引用*/#defineGRAPHICS_H#include/*引用标准库的头文件*/#in

6、clude“myheader.h”/*引用非标准库的头文件*/voidFunction1(…);/*全局函数声明*/#endif1.5头文件中是否只存放“声明”而不存放“定义”?头文件是用来声名而不是定义的。如果在头文件中定义变量或常量,会使得所有引用其的定义文件都产生这样的变量或常量。2、程序的版式2.1空行是否得体?(1)在每个类声明之后、每个函数定义结束之后都要加空行。(2)在一个函数体内,逻揖上密切相关的语句之间不加空行,其它地方应加空行分隔。(3)建议函数体间的空行为2-3行,逻辑块间

7、空一行。2.2缩进是否遵守4个空格的规定?变量定义是否缩进?缩进使含有嵌套的代码在逻辑上更加清晰。应该直接使用空格进行缩进,或定义制表符等于4个空格,消除在不同的编辑器下代码格式的混乱。2.3代码行内的空格是否得体?所谓空格得体,是指:(1)关键字之后要留空格,以突出关键字。例如switch(nBoard),while(condition)。(2)’;’向前紧跟,’,’之后要留空格,如Function(x,y,z)。如果’;’不是一行的结束符号,其后要留空格,如for(initializatio

8、n;condition;update)。(3)赋值操作符、比较操作符、算术操作符、逻辑操作符、位域操作符,如“=”、“+=”“>=”、“<=”、“+”、“*”、“%”、“&&”、“『、“<<”,“人”等二元操作符的前后应当加空格。例如nSum+=nNumberl+nNumber2;(4)一元操作符如“!”、“~”、“++”、“--”、“&”(地址运算符)等前后不加空格。例如p=&str[0];i++;(5)对于表达式比较长的for语句和if语句,为了紧凑起见可以适当地去掉一些空格,例如for(i

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。