- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件设计指导v1.0
V1.0版本软件应用规范
引言
背景
1)适用项目:
2)本规范采用以下的术语描述:
★ 规则:强制必须遵守的原则。
★ 建议:加以考虑的原则。
编程规范
排版
建议: 一行程序要小于100字符,不要写得过长。
注释
.h / .c / .cpp文件注释
如下例:
Copyright:
FileName:
Description :
Version :1.00
History :
Author Time Version 更改描述
Notes :
Note 1 :
函数注释
如下例:
Name : example1
Description : describe example1 what to do.
Input :
Int index // describe what is index
Output :
Int *ret// describe what is ret
Return :
FALSE: // describe what is false
TRUE: // describe what is false
:
BOOLEAN example1(int index,int *ret)
{
…
}
结构定义注释
规则:对于主要结构中的成员变量必须进行注释
建议:对于主要变量定义进行注释
修改纪录注释
当发布版本后,每次修改必须提供修改纪录注释。对开发中的版本,如果是新增特性的修改,不需要提供修改纪录注释。修改纪录注释的内容为:日期、修改人姓名、修改的原因(如果是新增需求则说明,如果是修改bug则描述bug号)、修改的方法(可选)、修改的起始和终止处。
BOOLEAN example1(int index,int *ret)
{
_UL ErrCode; // 错误码
// Modified by kangyixia for what , 2004-3-10
// describe what will do
…
// End of Modify by kangyixia, 2004-3-10
{
return ErrCode;
}
return ErrCode;
}
标识符命名
变量
统一变量类型如下:
规则:变量的命名选择大写字母惯例。
示例:SrcAddr。
规则:变量的命名要清晰、明了,有明确含义,同时使用完整的单词或大家基本可以理解的缩写,避免使人产生误解。
示例:ProgNum。
规则:对于变量命名,禁止取单个字符(如i、j、k...),但i、j、k作局部循环变量是允许的。
规则: 使用前缀来区分变量的作用范围,全局变量的前缀为g,模块变量的前缀为m,静态变量为s,并且主要变量的命名需要增加类型前缀,具体前缀为:
bit bt
int i
Boolean b
String str
Structure stru
Enum e
Pointer p
U8 u8
U16 u16
U32 u32
S8 s8
S16 s16
S32 s32
宏
规则:宏的命名:单词的字母全部大写,各单词之间用下划线隔开。
示例:MAX_PROG_NUM
1. 任务
规则:以TASK打头,后跟模块标识,再后跟1-3个单词,最后以类型结尾。
示例:TASK_NVD__NAME。
示例:TASK_ NVD _PRIO。
示例:TASK_ NVD _MODE。
2. 消息队列
规则:以QUEUE打头,后跟模块标识,再后跟1-3个单词,最后以类型结尾。
示例:QUEUE_ NVD _ NAME。
示例:QUEUE_ NVD _ COUNT。
示例:QUEUE_ NVD _ FLAG。
3. 消息号
规则:以MSG打头,后跟模块标识,再后跟1-3个单词。
示例:MSG_ NVD _OVR。
4. 信号
规则:以SEM打头,后跟模块标识,再后跟1-3个单词,最后以类型结尾。
示例:SEM_ NVD _NS_NAME。
示例:SEM_ NVD _NS_COUNT。
示例:SEM_ NVD _NS_FLAG。
5. (系统)事件
规则:以EVENT打头,后跟模块标识,再后跟1-3个单词。
示例:EVENT_ NVD _ OVR。
8. 命令响应错误码
规则:以NSERR打头,后跟模块标识,再后跟1-4个单词。
示例:NSERR_NVD_PARA_ERR。
11. 各种模块内部的标识
规则:以标识所属模块的模块标识打头,再后跟1-3个单词。
示例:NVD_EIT_RCV。
12. 防止头文
原创力文档


文档评论(0)