收藏 分销(赏)

软件设计标准规范.doc

上传人:二*** 文档编号:4710388 上传时间:2024-10-10 格式:DOC 页数:86 大小:918KB
下载 相关 举报
软件设计标准规范.doc_第1页
第1页 / 共86页
亲,该文档总共86页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、软件设计规范制订: 审核: 同意: 文件编号生效日期版本号分发部门 修 订 履 历序号 版本修订内容 修订人修订日期会签和文件发放:会签部门 会签人会签日期签收部门签收人签收日期 深圳市德卡科技文件编号文件版本A1生效日期软件设计规范发行类别新增 修订发行部门研发中心目 录第一章、项目模块划分15一、模块划分15二、模块命名15第二章、文件格式15一、c文件格式说明:161、文件创建及修改说明区162、头文件引用区163、全局变量定义区164、驱动函数区165、应用函数区176、文件结束说明17二、h文件格式说明171、文件创建及修改说明区172、防重调用定义183、头文件引用184、控制接口

2、定义区185、常量定义区196、宏调用定义区197、类型定义区198、外部引用变量区199、外部引用函数区2010、操作步骤说明区2011、文件结束说明20第三章、命名规则21一、函数命名规则21二、变量命名规则21三、宏命名规则22四、文件命名规则22五、新定义变量类型命名规则22六、命名注意事项:221、标识符命名基础标准232、命名中若使用特殊约定或缩写,则要有注释说明233、局部循环变量也必需根据变量命名规则来定义234、不要用数字或较奇怪字符来定义标识符235、用正确反义词组命名含有互斥意义变量或相反动作函数等236、避免使用以下划线开始和结尾定义237、程序中不要出现仅靠大小写区分

3、相同标识符238、标识符缩写249、函数名应正确描述函数功效2410、避免使用无意义或含义不清动词为函数命名24第四章、代码书写规范24一、基础标准24二、排版241、缩进风格242、不要使用【TAB】键243、空行244、语句长度要小于80个字符255、长语句换行256、长表示式换行267、若函数参数较长,则要进行合适划分268、一行只写一条语句269、括号2710、语句缩进要求2711、分界符2812、空格29三、注释301、注释量302、函数头部注释303、代码和注释同时修改314、注释内容要清楚、明了,含义正确,预防注释二义性315、避免在注释中使用缩写,尤其是很用缩写316、注释书写

4、位置317、变量、常量命名不能充足自注释,必需加以注释328、数据结构命名不能充足自注释,必需加以注释329、全局变量注释3210、注释要和说描述内容进行一样缩排3211、将注释和其上面代码用空行隔开3312、连续case语句处理时,必需编写注释3413、代码或表示式中间严禁插入注释3614、经过正确命名使代码成为自注释3615、在代码功效、意图层次上进行注释,提供有用、额外信息3616、在程序块结束行右方加注释标识,以表明某程序块结束3617、注释格式3718、采取汉字注释3719、使用 #if0和 #endif注释代码块3720、注释不能嵌套37四、代码可读性371、使用小括号明确表示式操

5、作次序372、用有意义枚举和宏替换数字383、源程序中关系较为紧密代码应尽可能相邻394、用多行简单语句替换复杂语句39五、变量,结构401、公共变量401.1、去掉没必需公共变量401.2、仔细定义并明确公共变量含义、作用、取值范围及公共变量间关系401.3、明确公共变量和操作此公共变量函数或过程关系401.4、要谨慎向公共变量传输数据401.5、预防局部变量和公共变量同名。401.6、公共变量仅由模块或函数创建和修改,其它模块和函数只能访问402、局部变量412.1、严禁使用未经初始化变量作为右值412.2、不使用和硬件或软件环境关系亲密变量412.3、变量申明时,同一类型,不一样意义多个

6、变量,要分行,便于区分412.4、对只设置一次变量,宜使用“const”限定词进行申明412.5、避免在函数中使用 static 局部变量413、数组413.1、数组大小及初始值要明确定义413.2、数组、结构和联合初始化列表应显式描述414、结构、联合424.1、结构功效要单一,是针对一个事务抽象424.2、不要设计面面俱到、很灵活数据结构434.3、不一样结构间关系不要过于复杂434.4、结构中元素个数应适中444.5、结构体中元素布局444.6、结构体设计要考虑兼容性454.7、跨平台数据结构,要考虑字节次序及对齐问题454.8、struct或union类型中最少应有一个组员464.9、

7、struct或union类型组员类型465、枚举475.1、枚举元素初始化应完整476、自定义数据类型476.1、合理地设计数据并使用自定义数据类型476.2、自定义数据类型命名要合适477、类型转换477.1、谨慎使用数据类型强制转换477.2、了解编译系统默认数据类型转换477.3、应严禁 signed 类型和 unsigned 类型之间隐式转化487.4、应严禁 int 类型和 float 类型隐式转化488、指针488.1、不应对指针变量使用强制类型转换赋值488.2、不应把自动类型局部变量地址赋值给外部指针488.3、指针指针不应超出两级488.4、指向不一样数据类型指针之间不应相互

8、转换488.5、指针转换过程中不应丢失指针const、 volatile属性488.6、只有指向数组指针才许可进行算术运算488.7、只有指向同一数组两个指针才许可相减498.8、只有指向同一数组两个指针才许可用、=、和80字符)要分成多行书写,长表示式要在低优先级操作符处划分新行,操作符放在新行之首,划分出新行要进行合适缩进,使排版整齐,语句可读。示例: stPermCountMsg.ucHead.ucLen = TMP_TO_STAT_PERM_COUNT_LEN + TMP_STAT_SIZE_PER_FRAM * sizeof( ulong ); aucTaskTableucFrame

9、Id * TMP_STAT_TASK_CHECK_NUMBER + ucIndex = astAtPoiucIndex.ucStatus;6、长表示式换行循环、判定等语句中若有较长表示式或语句,则要进行适应划分,长表示式要在低优先级操作符处划分新行,操作符放在新行之首。划分出新行要进行合适缩进,使排版整齐,语句可读。示例:if (ucTaskNo TMP_MAX_TASK_NUMBER) & (TMP_StatItemValid (ucStatItem) . / program codefor (i=0, j=0; (i astBufferKeyworducWordIndex.ucWordLe

10、ngth) & (j stNewKeyword.ucWordLength); i+, j+) . / program codefor (i=0, j=0; (i usFirstWordLength) & (j ucSecondWordLength); i+, j+) . / program code 7、若函数参数较长,则要进行合适划分8、一行只写一条语句不许可把多个短语句写在一行中,即一行只写一条语句示例:以下例子不符合规范。 stRect.ucLength = 0; stRect.ucWidth = 0; 应以下书写 stRect.ucLength = 0; stRect.ucWidth

11、= 0;9、括号if、for、do、while、case、switch、default等语句自占一行,且if、for、do、while等语句实施语句部分不管多少全部要加括号。 左大括号“”后和右大括号“”前不可出现代码,而且和引用她语句左对齐。示例:以下例子不符合规范。if (pUserCR = NULL) return;应以下书写:if (pUserCR = NULL) return;10、语句缩进要求函数开始、结构定义及循环、判定等语句中代码全部要采取缩进风格,case语句下情况处理语句也要遵从语句缩进要求。预处理指令不需要缩进,总是从行首开始。即使预处理指令在缩进代码块中,指令也应从行首

12、开始 示例:良好风格:预处理指令均从行首开始if (lopsided_score) #if DISASTER_PENDING / Correct - Starts at beginning of line DropEverything();#if NOTIFY NotifyClient();#endif#endif BackToNormal();不良风格:缩进预处理指令if (lopsided_score) #if DISASTER_PENDING / Wrong! The #if should be at beginning /of line DropEverything(); #endif / Wrong! Do not indent #endif BackToNormal();

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 品牌综合 > 行业标准/行业规范

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服