- 1、本文档共112页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1 排版 1 排版 1-5:若函数或过程中的参数较长,则要进行适当的划分。 示例: n7stat_str_compare((BYTE *) stat_object, (BYTE *) (act_task_table[taskno].stat_object), sizeof (_STAT_OBJECT)); n7stat_flash_act_duration( stat_item, frame_id *STAT_TASK_CHECK_NUMBER + index, stat_object ); 1-6:不允许把多个短语句写在一行中,即一行只写一条语句。 7 可测性 7 可测性 示例:下面是C语言中的一个断言,用宏来设计的。(其中NULL为0L) #ifdef _EXAM_ASSERT_TEST_ // 若使用断言测试 void exam_assert( char * file_name, unsigned int line_no ) { printf( \n[EXAM]Assert failed: %s, line %u\n, file_name, line_no ); abort( ); } #define EXAM_ASSERT( condition ) if (condition) // 若条件成立,则无动作 NULL; else // 否则报告 exam_assert( __FILE__, __LINE__ ) #else // 若不使用断言测试 #define EXAM_ASSERT(condition) NULL #endif /* end of ASSERT */ 7 可测性 7-6:用断言来检查程序正常运行时不应发生但在调测时有可能发生的非法情况。 7-7:不能用断言来检查最终产品肯定会出现且必须处理的错误情况。 说明:断言是用来处理不应该发生的错误情况的,对于可能会发生的且必须处理的情况要写防错程序,而不是断言。如某模块收到其它模块或链路上的消息后,要对消息的合理性进行检查,此过程为正常的错误检查,不能用断言来实现。 7-8:对较复杂的断言加上明确的注释。 说明:为复杂的断言加注释,可澄清断言含义并减少不必要的误用。 7 可测性 7-9:用断言确认函数的参数。 示例:假设某函数参数中有一个指针,那么使用指针前可对它检查,如下。 int exam_fun( unsigned char *str ) { EXAM_ASSERT( str != NULL ); // 用断言检查“假设指针不为空”这个条件 ... //other program code } 7 可测性 7-10:用断言保证没有定义的特性或功能不被使用。 示例:假设某通信模块在设计时,准备提供“无连接”和“连接” 这两种业务。但当前的版本中仅实现了“无连接”业务,且在此版本的正式发行版中,用户(上层模块)不应产生“连接”业务的请求,那么在测试时可用断言检查用户是否使用“连接”业务。如下。 #define EXAM_CONNECTIONLESS 0 // 无连接业务 #define EXAM_CONNECTION 1 // 连接业务 int msg_process( EXAM_MESSAGE *msg ) { unsigned char service; /* message service class */ EXAM_ASSERT( msg != NULL ); service = get_msg_service_class( msg ); EXAM_ASSERT( service != EXAM_CONNECTION ); // 假设不使用连接业务 ... //other program code } 7 可测性 7-11:用断言对程序开发环境(OS/Compiler/Hardware)的假设进行检查。 说明:程序运行时所需的软硬件环境及配置要求,不能用断言来检查,而必须由一段专门代码处理。用断言仅可对程序开发环境中的假设及所配置的某版本软硬件是否具有某种功能的假设进行检查。如某网卡是否在系统运行环境中配置了,应由程序中正式代码来检查;而此网卡是否具有某设想的功能,则可由断言来检查。 对编译器提供的功能及特性假设可用断言检查,原因是软件最终产品(即运
您可能关注的文档
- 第四章上泥水材料解说.ppt
- 北京名菜――烤鸭案例分析.ppt
- 近义成语辨析1案例分析.ppt
- 第四章生物信息学常用概率统计方法解说.ppt
- 近义成语辨析案例分析.ppt
- 录课案例分析.ppt
- 近义词辨析及选用(讲)案例分析.ppt
- 北京现代悦纳上市发布会活动方案案例分析.ppt
- 鹿和狼的故事公开课2案例分析.ppt
- 第四章矢量图形设计解说.ppt
- 2024届江苏省吴江市平望中学高三下数学试题第一次联考试题.doc
- 2024届江西省抚州市九校高三下学期期末教学质量诊断(一模)数学试题.doc
- 2024届江西省高安市高安中学高考数学试题一轮复习模拟试题.doc
- 2024届青海省海南市高三第二学期第二次月考数学试题.doc
- 2024届青海西宁二十一中高三4月调研测试(二诊)数学试题.doc
- 2024届山东临沂市临沭县第一中学高三毕业班第一次模拟考试数学试题.doc
- 2024届山东省肥城市泰西中学下学期4月月考高三数学试题试卷.doc
- 2024届山东省莒县第二中学高三高考模拟试题.doc
- 2024届山东省临沂市十九中下学期高三数学试题第6周测试题.doc
- 2024届山东省青岛市胶州市高三年级第二学期数学试题周练一(含附加题).doc
最近下载
- 北京市海淀区2022-2023学年七年级上学期期中考试语文试卷(含答案).docx VIP
- 数据科学与工程专业建设的成果与经验.pptx VIP
- 26个英语字母教学(教学设计)-2023-2024学年人教PEP版英语三年级上册.docx
- 2023年国家新版GSP实施细则.doc
- 教科版科学五年级上册全册单元测试卷(含答案).docx VIP
- 商业秘密管理程序.doc
- GB T 22090-2008_冷热饮水机_高清版_可检索.pdf
- 22G101 三维彩色立体图集.docx
- 2023-2024学年广东省深圳市深圳中学高二上学期期中考试数学试卷含详解.docx VIP
- 给排水及采暖工程安全技术操作管理规程.doc VIP
文档评论(0)