📄 编程规范与范例(4).htm
字号:
<html>
<head>
<title>CETINet 中国电子技术信息网---综合文章---编程规范与范例(4)</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
</head>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">body { scrollbar-face-color: 5B9595; scrollbar-shadow-color: ffffff;
scrollbar-highlight-color: ffffff; scrollbar-3dlight-color:
ffffff; scrollbar-darkshadow-color: ffffff;
scrollbar-track-color: ffffff; scrollbar-arrow-color: ffffff }
</style>
</head>
<body bgcolor="#F3F3F3" text="#000000">
<div align="center">
<table width="750" border="0" height="60" cellspacing="0" cellpadding="0">
<tr>
<td width="150">
<div align="center">
<img border="0" src="images/myad.gif">
</div>
</td>
<td width="450">
<div align="center">
<a href="images/ad2.asp" target="_blank"><img border="0" src="images/ad2.gif"></a>
</div>
</td>
<td width="150">
<div align="center">
<a href="images/adsmall.asp" target="_blank"><img border="0" src="images/adsmall.gif"></a>
</div>
</td>
</tr>
</table>
<br>
<table width="750" border="0" cellspacing="0" cellpadding="0" height="20">
<tr>
<td width="57" bgcolor="#5B9595" align="center"><font color="#FFFFFF">其他栏目</font></td>
<td width="57" bgcolor="#D7E3E3" align="center"><a href="../bbs/index.asp" target="_blank">技术论坛</a></td>
<td width="57" bgcolor="#D7E3E3" align="center"><a href="../t_article/index.asp?topid=1" target="_blank">微控制器</a></td>
<td width="57" bgcolor="#D7E3E3" align="center"><a href="../t_article/index.asp?topid=2" target="_blank">IC设计</a></td>
<td bgcolor="#D7E3E3" align="center" width="58"><a href="../t_article/index.asp?topid=3" target="_blank">EDA技术</a></td>
<td width="58" bgcolor="#D7E3E3" align="center"><a href="../t_article/index.asp?topid=4" target="_blank">电路基础</a></td>
<td width="58" bgcolor="#D7E3E3" align="center"><a href="../t_article/index.asp?topid=5" target="_blank">电源技术</a></td>
<td width="58" bgcolor="#D7E3E3" align="center"><a href="../t_article/index.asp?topid=6" target="_blank">通信技术</a></td>
<td width="58" bgcolor="#D7E3E3" align="center"><a href="../t_article/index.asp?topid=7" target="_blank">测试测量</a></td>
<td bgcolor="#D7E3E3" align="center" width="58"><a href="../t_article/index.asp?topid=8" target="_blank">综合技术</a></td>
<td width="58" bgcolor="#D7E3E3" align="center"><a href="../t_article/index.asp?topid=9" target="_blank">编程学堂</a></td>
<td width="58" bgcolor="#D7E3E3" align="center"><a href="../t_article/index.asp?topid=10" target="_blank">版主专栏</a></td>
<td bgcolor="#D7E3E3" width="58" align="center"><a href="../download/Default.asp" target="_blank">下载中心</a></td>
</tr>
</table>
<br>
</div>
</body>
<body bgcolor="#F3F3F3" text="#000000">
<div align="center">
<table width="750" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>您目前的位置:<a href=index.asp?topid=9>编程学堂</a> - <a href=step.asp?topid=9&topname=编程学堂&typeid=106&typename=综合文章>综合文章</a> - 编程规范与范例(4)</td>
</tr>
</table>
<table width="750" border="0" cellspacing="0" cellpadding="0" height="250">
<tr>
<td width="150" valign="top" bgcolor="#5B9595" height="240">
<table width="150" border="0" cellspacing="0">
<tr>
<td height="20"></td>
</tr>
<tr>
<td height="20"><font color="#FFFFFF">文章类别:</font></td>
</tr>
<tr>
<td height="20">
<p align="center"><font color="#F3F3F3">综合文章</font></td>
</tr>
<tr>
<td height="20"><font color="#FFFFFF">文章来源:</font></td>
</tr>
<tr>
<td height="20"><font color="#F3F3F3">
<p align="center">未知</font></td>
</tr>
<tr>
<td height="20"><font color="#FFFFFF">文章作者:</font></td>
</tr>
<tr>
<td height="20"><font color="#F3F3F3">
<p align="center">未知</font></td>
</tr>
<tr>
<td height="20"><font color="#FFFFFF">关 键 字:</font></td>
</tr>
<tr>
<td height="20"><font color="#F3F3F3">
<p align="center">规范</font></td>
</tr>
<tr>
<td height="20"><font color="#FFFFFF">今天阅读:</font></td>
</tr>
<tr>
<td height="20"><font color="#F3F3F3">
<p align="center">2</font></td>
</tr>
<tr>
<td height="20"><font color="#FFFFFF">总共阅读:</font></td>
</tr>
<tr>
<td height="20"><font color="#F3F3F3">
<p align="center">769</font></td>
</tr>
<tr>
<td height="20"><font color="#FFFFFF">加入日期:</font></td>
</tr>
<tr>
<td height="20"><font color="#F3F3F3">
<p align="center">2004-3-20 18:48:33</font></td>
</tr>
</table>
<table width="150" border="0" cellspacing="0">
<tr>
<td height="20">
<font color="#FFFFFF">相关文章:</font>
</td>
</tr>
<tr>
<td height="20">
<div align="center">
<a href=list.asp?indexid=1811><font color='#FFFFFF'>编程规范与范例(6)</font></a><br><a href=list.asp?indexid=1810><font color='#FFFFFF'>编程规范与范例(5)</font></a><br><a href=list.asp?indexid=1808><font color='#FFFFFF'>编程规范与范例(3)</font></a><br><a href=list.asp?indexid=1807><font color='#FFFFFF'>编程规范与范例(2)</font></a><br><a href=list.asp?indexid=1800><font color='#FFFFFF'>编程规范与范例(1)</font></a><br><a href=list.asp?indexid=1479><font color='#FFFFFF'>NUXAS代码风格规范</font></a><br><a href=list.asp?indexid=1461><font color='#FFFFFF'>C语言编程规范</font></a><br><a href=list.asp?indexid=706><font color='#FFFFFF'>电路板最新国际规范导读</font></a><br><a href=list.asp?indexid=633><font color='#FFFFFF'>改进电路设计规程提高可测试性</font></a><br><a href=list.asp?indexid=632><font color='#FFFFFF'>PCB全面质量管理</font></a><br>
</div>
</td>
</tr>
</table>
<table width="150" border="0" cellspacing="0">
<tr>
<td height="20"></td>
</tr>
<tr>
<td height="20">
<p align="center"><font color="#FFFFFF">==关于文章版权==</font></td>
</tr>
<tr>
<td height="20"><font color="#FFFFFF"><br>
“本站”本站站主原创文章,未经本人(帝国老手/aoe)许可其他媒体一律不得转载。<br><br>
“本站整理”本站站主根据个人见解及他人经验总结整理的文章,其他媒体转载必须标明出处为我站。<br><br>
“某单位或个人”全文转载来自网络上的文章,其他媒体转载与我站无关。<br><br>
“未知”(1)来自网络,由于来源混乱,无从考证作者,其他媒体转载与我站无关。<br><br>
“未知”(2)其文章也是本站站主原创的,只所以标注“未知”,主要是因为引用文字过多或其他原因。建议其他媒体转载标明出处为我站。<br><br>
我站版权请标注:“www.cetinet.com”或“中国电子技术信息网”字样。</font></td>
</tr>
<tr>
<td height="20"></td>
</tr>
</table>
</td>
<td width="600" valign="top" height="240">
<table width="600" border="0" cellspacing="0" cellpadding="0" height="20">
<tr>
<td bgcolor="#5B9595"> </td>
</tr>
</table>
<table width="600" border="0" cellspacing="3" cellpadding="0">
<tr>
<td height="20" bgcolor="#AECECE">
<div align="center">
<font color="#0A52D8"><b>编程规范与范例(4)</b></font>
</div>
</td>
</tr>
<tr>
<td width="600">〖文章转载或出处〗≡中国电子技术信息网≡ 网址:www.CETINet.com</td>
</tr>
<tr>
<td width="600">编程规范与范例(4)<br><br>目 录<br>1 排版 6<br>2 注释 11<br>3 标识符命名 18<br>4 可读性 20<br>5 变量、结构 22<br>6 函数、过程 28<br>7 可测性 36<br>8 程序效率 40<br>9 质量保证 44<br>10 代码编辑、编译、审查 50<br>11 代码测试、维护 52<br>12 宏 53<br> <br>7 可测性<br>&sup1; 7-1:在同一项目组或产品组内,要有一套统一的为集成测试与系统联调准备的调测开关及相应打印函数,并且要有详细的说明。<br>说明:本规则是针对项目组或产品组的。<br>&sup1; 7-2:在同一项目组或产品组内,调测打印出的信息串的格式要有统一的形式。信息串中至少要有所在模块名(或源文件名)及行号。<br>说明:统一的调测信息格式便于集成测试。<br>&sup1; 7-3:编程的同时要为单元测试选择恰当的测试点,并仔细构造测试代码、测试用例,同时给出明确的注释说明。测试代码部分应作为(模块中的)一个子模块,以方便测试代码在模块中的安装与拆卸(通过调测开关)。<br>说明:为单元测试而准备。<br>&sup1; 7-4:在进行集成测试/系统联调之前,要构造好测试环境、测试项目及测试用例,同时仔细分析并优化测试用例,以提高测试效率。<br>说明:好的测试用例应尽可能模拟出程序所遇到的边界值、各种复杂环境及一些极端情况等。<br>&sup1; 7-5:使用断言来发现软件问题,提高代码可测性。<br>说明:断言是对某种假设条件进行检查(可理解为若条件成立则无动作,否则应报告),它可以快速发现并定位软件问题,同时对系统错误进行自动报警。断言可以对在系统中隐藏很深,用其它手段极难发现的问题进行定位,从而缩短软件问题定位时间,提高系统的可测性。实际应用时,可根据具体情况灵活地设计断言。<br>示例:下面是C语言中的一个断言,用宏来设计的。(其中NULL为0L)<br>#ifdef _EXAM_ASSERT_TEST_ // 若使用断言测试<br><br>void exam_assert( char * file_name, unsigned int line_no )<br>{<br> printf( "\n[EXAM]Assert failed: %s, line %u\n", <br> file_name, line_no );<br> abort( );<br>}<br><br>#define EXAM_ASSERT( condition )<br> if (condition) // 若条件成立,则无动作<br> NULL;<br> else // 否则报告<br> exam_assert( __FILE__, __LINE__ ) <br><br>#else // 若不使用断言测试<br><br>#define EXAM_ASSERT(condition) NULL <br><br>#endif /* end of ASSERT */<br>&sup1; 7-6:用断言来检查程序正常运行时不应发生但在调测时有可能发生的非法情况。<br>&sup1; 7-7:不能用断言来检查最终产品肯定会出现且必须处理的错误情况。<br>说明:断言是用来处理不应该发生的错误情况的,对于可能会发生的且必须处理的情况要写防错程序,而不是断言。如某模块收到其它模块或链路上的消息后,要对消息的合理性进行检查,此过程为正常的错误检查,不能用断言来实现。<br>&sup1; 7-8:对较复杂的断言加上明确的注释。<br>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -