⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 编程规范与范例(6).htm

📁 编程规范与范例。从网上收集的
💻 HTM
📖 第 1 页 / 共 2 页
字号:
              “未知”(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">&nbsp;</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>编程规范与范例(6)</b></font>
              </div>
            </td>
          </tr>
          <tr>
            <td width="600">〖文章转载或出处〗≡中国电子技术信息网≡ 网址:www.CETINet.com</td>  
          </tr>
          <tr>
            <td width="600">编程规范与范例(6)<br><br>目&nbsp;&nbsp;录<br>1&nbsp;排版	6<br>2&nbsp;注释	11<br>3&nbsp;标识符命名	18<br>4&nbsp;可读性	20<br>5&nbsp;变量、结构	22<br>6&nbsp;函数、过程	28<br>7&nbsp;可测性	36<br>8&nbsp;程序效率	40<br>9&nbsp;质量保证	44<br>10&nbsp;代码编辑、编译、审查	50<br>11&nbsp;代码测试、维护	52<br>12&nbsp;宏	53<br>&nbsp;<br>&nbsp;<br>10&nbsp;代码编辑、编译、审查<br>&amp;sup1;	10-1:打开编译器的所有告警开关对程序进行编译。<br>&amp;sup1;	10-2:在产品软件(项目组)中,要统一编译开关选项。<br>&amp;sup1;	10-3:通过代码走读及审查方式对代码进行检查。<br>说明:代码走读主要是对程序的编程风格如注释、命名等以及编程时易出错的内容进行检查,可由开发人员自己或开发人员交叉的方式进行;代码审查主要是对程序实现的功能及程序的稳定性、安全性、可靠性等进行检查及评审,可通过自审、交叉审核或指定部门抽查等方式进行。<br>&amp;sup1;	10-4:测试部测试产品之前,应对代码进行抽查及评审。<br>&amp;frac12;	10-1:编写代码时要注意随时保存,并定期备份,防止由于断电、硬盘损坏等原因造成代码丢失。<br>&amp;frac12;	10-2:同产品软件(项目组)内,最好使用相同的编辑器,并使用相同的设置选项。<br>说明:同一项目组最好采用相同的智能语言编辑器,如Muiti&nbsp;Editor,Visual&nbsp;Editor等,并设计、使用一套缩进宏及注释宏等,将缩进等问题交由编辑器处理。<br>&amp;frac12;	10-3:要小心地使用编辑器提供的块拷贝功能编程。<br>说明:当某段代码与另一段代码的处理功能相似时,许多开发人员都用编辑器提供的块拷贝功能来完成这段代码的编写。由于程序功能相近,故所使用的变量、采用的表达式等在功能及命名上可能都很相近,所以使用块拷贝时要注意,除了修改相应的程序外,一定要把使用的每个变量仔细查看一遍,以改成正确的。不应指望编译器能查出所有这种错误,比如当使用的是全局变量时,就有可能使某种错误隐藏下来。<br>&amp;frac12;	10-4:合理地设计软件系统目录,方便开发人员使用。<br>说明:方便、合理的软件系统目录,可提高工作效率。目录构造的原则是方便有关源程序的存储、查询、编译、链接等工作,同时目录中还应具有工作目录----所有的编译、链接等工作应在此目录中进行,工具目录----有关文件编辑器、文件查找等工具可存放在此目录中。<br>&amp;frac12;	10-5:某些语句经编译后产生告警,但如果你认为它是正确的,那么应通过某种手段去掉告警信息。<br>说明:在Borland&nbsp;C/C++中,可用“#pragma&nbsp;&nbsp;warn”来关掉或打开某些告警。<br>示例:<br>#pragma&nbsp;warn&nbsp;-rvl&nbsp;//&nbsp;关闭告警<br>int&nbsp;examples_fun(&nbsp;void&nbsp;)<br>{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;程序,但无return语句。<br>}<br>#pragma&nbsp;warn&nbsp;+rvl&nbsp;//&nbsp;打开告警<br>编译函数examples_fun时本应产生“函数应有返回值”告警,但由于关掉了此告警信息显示,所以编译时将不会产生此告警提示。<br>&amp;frac12;	10-6:使用代码检查工具(如C语言用PC-Lint)对源程序检查。<br>&amp;frac12;	10-7:使用软件工具(如&nbsp;LogiSCOPE)进行代码审查。&nbsp;<br>11&nbsp;代码测试、维护<br>&amp;sup1;	11-1:单元测试要求至少达到语句覆盖。<br>&amp;sup1;	11-2:单元测试开始要跟踪每一条语句,并观察数据流及变量的变化。<br>&amp;sup1;	11-3:清理、整理或优化后的代码要经过审查及测试。<br>&amp;sup1;	11-4:代码版本升级要经过严格测试。<br>&amp;sup1;	11-5:使用工具软件对代码版本进行维护。<br>&amp;sup1;	11-6:正式版本上软件的任何修改都应有详细的文档记录。<br>&amp;frac12;	11-1:发现错误立即修改,并且要记录下来。<br>&amp;frac12;	11-2:关键的代码在汇编级跟踪。<br>&amp;frac12;	11-3:仔细设计并分析测试用例,使测试用例覆盖尽可能多的情况,以提高测试用例的效率。<br>&amp;frac12;	11-4:尽可能模拟出程序的各种出错情况,对出错处理代码进行充分的测试。<br>&amp;frac12;	11-5:仔细测试代码处理数据、变量的边界情况。<br>&amp;frac12;	11-6:保留测试信息,以便分析、总结经验及进行更充分的测试。<br>&amp;frac12;	11-7:不应通过“试”来解决问题,应寻找问题的根本原因。<br>&amp;frac12;	11-8:对自动消失的错误进行分析,搞清楚错误是如何消失的。<br>&amp;frac12;	11-9:修改错误不仅要治表,更要治本。<br>&amp;frac12;	11-10:测试时应设法使很少发生的事件经常发生。<br>&amp;frac12;	11-11:明确模块或函数处理哪些事件,并使它们经常发生。<br>&amp;frac12;	11-12:&nbsp;坚持在编码阶段就对代码进行彻底的单元测试,不要等以后的测试工作来发现问题。<br>&amp;frac12;	11-13:去除代码运行的随机性(如去掉无用的数据、代码及尽可能防止并注意函数中的“内部寄存器”等),让函数运行的结果可预测,并使出现的错误可再现。<br>&nbsp;<br>12&nbsp;宏<br>&amp;sup1;	12-1:用宏定义表达式时,要使用完备的括号。<br>示例:如下定义的宏都存在一定的风险。<br>#define&nbsp;RECTANGLE_AREA(&nbsp;a,&nbsp;b&nbsp;)&nbsp;a&nbsp;*&nbsp;b<br>#define&nbsp;RECTANGLE_AREA(&nbsp;a,&nbsp;b&nbsp;)&nbsp;(a&nbsp;*&nbsp;b)<br>#define&nbsp;RECTANGLE_AREA(&nbsp;a,&nbsp;b&nbsp;)&nbsp;(a)&nbsp;*&nbsp;(b)<br>正确的定义应为:<br>#define&nbsp;RECTANGLE_AREA(&nbsp;a,&nbsp;b&nbsp;)&nbsp;((a)&nbsp;*&nbsp;(b))<br>&amp;sup1;	12-2:将宏所定义的多条表达式放在大括号中。<br>示例:下面的语句只有宏的第一条表达式被执行。为了说明问题,for语句的书写稍不符规范。<br>#define&nbsp;INTI_RECT_VALUE(&nbsp;a,&nbsp;b&nbsp;)\<br>&nbsp;&nbsp;&nbsp;&nbsp;a&nbsp;=&nbsp;0;\<br>&nbsp;&nbsp;&nbsp;&nbsp;b&nbsp;=&nbsp;0;<br><br>for&nbsp;(index&nbsp;=&nbsp;0;&nbsp;index&nbsp;&lt;&nbsp;RECT_TOTAL_NUM;&nbsp;index++)<br>&nbsp;&nbsp;&nbsp;&nbsp;INTI_RECT_VALUE(&nbsp;rect.a,&nbsp;rect.b&nbsp;);<br><br>正确的用法应为:<br>#define&nbsp;INTI_RECT_VALUE(&nbsp;a,&nbsp;b&nbsp;)\<br>{\<br>&nbsp;&nbsp;&nbsp;&nbsp;a&nbsp;=&nbsp;0;\<br>&nbsp;&nbsp;&nbsp;&nbsp;b&nbsp;=&nbsp;0;\<br>}<br><br>for&nbsp;(index&nbsp;=&nbsp;0;&nbsp;index&nbsp;&lt;&nbsp;RECT_TOTAL_NUM;&nbsp;index++)<br>{&nbsp;<br>&nbsp;&nbsp;&nbsp;INTI_RECT_VALUE(&nbsp;rect[index].a,&nbsp;rect[index].b&nbsp;);<br>}<br>&amp;sup1;	12-3:使用宏时,不允许参数发生变化。<br>示例:如下用法可能导致错误。<br>#define&nbsp;SQUARE(&nbsp;a&nbsp;)&nbsp;((a)&nbsp;*&nbsp;(a))<br><br>int&nbsp;a&nbsp;=&nbsp;5;<br>int&nbsp;b;<br>b&nbsp;=&nbsp;SQUARE(&nbsp;a++&nbsp;);&nbsp;//&nbsp;结果:a&nbsp;=&nbsp;7,即执行了两次增1。<br><br>正确的用法是:<br>b&nbsp;=&nbsp;SQUARE(&nbsp;a&nbsp;);<br>a++;&nbsp;//&nbsp;结果:a&nbsp;=&nbsp;6,即只执行了一次增1。</td> 
          </tr>
          <tr>
            <td width="600"></td> 
          </tr>
		  <tr>
            <td width="600"><b>郑重声明</b><br>
              &nbsp;&nbsp; 近年来我站数百篇“原创文章”被一些媒体肆意转载,不但不标明出自“中国电子技术信息网”,而且把相关字眼删除!这是无视技术价值的盗窃行为,是对技术人员辛勤劳动的蔑视,我对此种行为表示强烈的谴责。<br>
              &nbsp;&nbsp; “本是同根生,相煎何太急”,考虑到我们做技术的都是同门兄弟,对以前的盗窃行为不再追究,今后再有此类事件,最低处理限度是“明示于天下”。在这里向转载过又标注了出处的兄弟媒体表示崇高的敬意!<br>
              &nbsp;&nbsp; 兄弟网站如果引用本站“原创文章”,请首先经本人许可,并标注“www.cetinet.com”或“中国电子技术信息网”字样。<br>
              &nbsp;&nbsp; 欢迎个人下载使用!</td> 
          </tr>
        </table>
      </td>
    </tr>
  </table>
  <br>
  <br>
</div>

</body>
<body bgcolor="#FFFFFF" text="#000000">
  <p align="center">
  本站所载文章力求原创,部分资料转自网上,假如您认为某些文章侵犯了您的权益,<br>
  请告知我们,我们将在最短的时间内删除有关文章。本站转载文章均注明出处。<br>
  兄弟网站如果转载本站文章请注明本站版权,谢谢!
  <p align="center">中国电子技术信息网 文章管理系统由:Aoe 制作<br>      
  Copyright (C) 2001-2004 CETINet.COM All Rights Reserved      
</body>    

</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -