文档编号产品版本受控状态DC-SB-2003-1005V1.0内部产品名称:软件编程规范共页软件编程规范(仅供内部使用)北京世纪百合科技有限公司BeijingCenturialLilyTechnologyCo.,Ltd.版权所有不得复制北京世纪百合技术有限公司软件编程规范第2页共24页文档修改记录版本号日期所改页注记提交人批准人北京世纪百合技术有限公司软件编程规范第3页共24页目录1.引言.......................................................................................................................41.1目的....................................................................................................................................41.2范围....................................................................................................................................42.规范.......................................................................................................................42.1文件....................................................................................................................................42.2版面风格..........................................................................................................................42.3标识符命名........................................................................................................................82.4函数与宏..........................................................................................................................102.5代码的可靠性..................................................................................................................143.附录:通用类型的公共定义..............................................................................19北京世纪百合技术有限公司软件编程规范第4页共24页1.引言1.1目的本规范的目的在于增加源代码的可读性,减少程序员对代码理解上的偏差,使程序员能够编写出可靠的代码,降低代码维护成本。1.2范围本规范内容涉及范围包括:文件、版面、注释、标识符、变量和结构、函数、宏以及可理解性等。本规范适用于公司开发的所有软件产品。在新软件的编码过程中本规范必须执行。2.规范2.1文件2.1.1头文件的名称一律为小写,格式为“子系统名_文件名.h”。例如:ipf_protocol.h等。2.1.2头文件的格式如下:注释头,格式参见软件编程规范;头文件预编译开关开始,格式为:#ifndef预编译开关#define预编译开关其中预编译开关格式为:“_文件名_H”,其中文件名一律大写头文件内容;头文件预编译开关结束,格式为:#endif用来和头文件预编译开关的开始对应。例如:以下为ipf_ip.h头文件的内容:/************************************************************Copyright(c)LilyOfTheCenturyTechnologyCo.,LTD.ALLRIGHTSRESERVEDDescription://用于详细说明此程序文件完成的主要功能*************************************************************/#ifndef_IPF_IP_H#define_IPF_IP_H...<头文件正文>北京世纪百合技术有限公司软件编程规范第5页共24页...#endif2.1.3头文件的定义要有层次,禁止交叉引用。说明:头文件的层次设置为公共模块、私有模块。头文件的引用次序为下层头文件引用上层头文件、私有头文件引用公共头文件,声明结构时尤其要注意,不允许出现交叉引用的情况。示例:如下定义不符合规范头文件isdn_a.h/************************************************************Copyright(c)LilyOfTheCenturyTechnologyCo.,LTD.ALLRIGHTSRESERVEDDescription:定义配置数据结构************************************************************/#ifndef_ISDN_A_H#define_ISDN_A_H#include“isdn_b.h”typedefstruct{...;ISDN_CONTROLstIsdnControl;...;}ISDN_CONFIG;#endif头文件isdn_b.h/******************************************...