欢迎来到天天文库
浏览记录
ID:21789691
大小:1.07 MB
页数:86页
时间:2018-10-24
《软件设计规范》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、软件设计规范制定:审核:批准:文件编号生效日期版本号分发部门修订履历序号版本修订内容修订人修订日期会签与文件发放:会签部门会签人会签日期签收部门签收人签收日期深圳市德卡科技有限公司文件编号文件版本A1生效日期软件设计规范发行类别■新增□修订发行部门研发中心目录第一章、项目模块划分15一、模块划分15二、模块命名15第二章、文件格式15一、c文件格式说明:161、文件创建及修改说明区162、头文件引用区163、全局变量定义区164、驱动函数区165、应用函数区176、文件结束说明17二、h文件格式说明171、文件创建及修改说明区172、防重调用定义183、头
2、文件引用184、控制接口定义区185、常量定义区196、宏调用定义区197、类型定义区198、外部引用变量区199、外部引用函数区2010、操作流程说明区2011、文件结束说明20第三章、命名规则21一、函数命名规则21二、变量命名规则21三、宏命名规则22四、文件命名规则22五、新定义变量类型命名规则22六、命名注意事项:221、标识符命名基本原则232、命名中若使用特殊约定或缩写,则要有注释说明233、局部循环变量也必须按照变量命名规则来定义234、不要用数字或较奇怪的字符来定义标识符235、用正确的反义词组命名具有互斥意义的变量或相反动作的函数等23
3、6、避免使用以下划线开始和结尾的定义237、程序中不要出现仅靠大小写区分的相似的标识符238、标识符缩写249、函数名应准确描述函数的功能2410、避免使用无意义或含义不清的动词为函数命名24第四章、代码书写规范24一、基本原则24二、排版241、缩进风格242、不要使用【TAB】键243、空行244、语句长度要小于80个字符255、长语句换行256、长表达式换行267、若函数的参数较长,则要进行适当的划分268、一行只写一条语句269、括号{}2710、语句缩进要求2711、分界符2812、空格29三、注释301、注释量302、函数头部注释303、代码与
4、注释同时修改314、注释的内容要清楚、明了,含义准确,防止注释二义性315、避免在注释中使用缩写,特别是非常用缩写316、注释书写位置317、变量、常量命名不能充分自注释的,必须加以注释328、数据结构命名不能充分自注释的,必须加以注释329、全局变量注释3210、注释要与说描述的内容进行同样的缩排3211、将注释与其上面的代码用空行隔开3312、连续case语句处理时,必须编写注释3413、代码或表达式的中间禁止插入注释3614、通过正确命名使代码成为自注释的3615、在代码的功能、意图层次上进行注释,提供有用、额外的信息3616、在程序块的结束行右方加
5、注释标记,以表明某程序块的结束3617、注释格式3718、采用中文注释3719、使用#if0和#endif注释代码块3720、注释不能嵌套37四、代码可读性371、使用小括号明确表达式的操作顺序372、用有意义的枚举和宏替代数字383、源程序中关系较为紧密的代码应尽可能相邻394、用多行简单语句替代复杂语句39五、变量,结构401、公共变量401.1、去掉没必要的公共变量401.2、仔细定义并明确公共变量的含义、作用、取值范围及公共变量间的关系401.3、明确公共变量与操作此公共变量的函数或过程的关系401.4、要谨慎向公共变量传递数据401.5、防止局部
6、变量与公共变量同名。401.6、公共变量仅由模块或函数创建和修改,其余模块和函数只能访问402、局部变量412.1、严禁使用未经初始化的变量作为右值412.2、不使用与硬件或软件环境关系密切的变量412.3、变量声明时,同一类型,不同意义的多个变量,要分行,便于区分412.4、对只设置一次的变量,宜使用“const”限定词进行声明412.5、避免在函数中使用static局部变量413、数组413.1、数组大小及初始值要明确定义413.2、数组、结构和联合的初始化列表应显式描述414、结构、联合424.1、结构的功能要单一,是针对一种事务的抽象424.2、不
7、要设计面面俱到、非常灵活的数据结构434.3、不同结构间的关系不要过于复杂434.4、结构中元素的个数应适中444.5、结构体中元素的布局444.6、结构体设计要考虑兼容性454.7、跨平台数据结构,要考虑字节顺序及对齐问题454.8、struct或union类型中至少应有一个成员464.9、struct或union类型的成员类型465、枚举475.1、枚举元素的初始化应完整476、自定义数据类型476.1、合理地设计数据并使用自定义数据类型476.2、自定义数据类型命名要恰当477、类型转换477.1、谨慎使用数据类型的强制转换477.2、了解编译系统默
8、认的数据类型转换477.3、应禁止signed类型与unsigne
此文档下载收益归作者所有