软件工程-编码实现_第1页
软件工程-编码实现_第2页
软件工程-编码实现_第3页
软件工程-编码实现_第4页
软件工程-编码实现_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、编码实现o 编码风格o 编码语言的选择编码风格 评判项目结果名次编码要求清晰性清晰性效率效率开发时间开发时间程序程序输出输出内存数内存数语句数语句数程序可读性最佳1-22334输出可读性最佳1-21552-3占内存最少44122-3语句数最少53212-3开发时间最短35441编码风格o 使用标准的控制结构o 有限制的使用GOTO语句o 实现源程序的文档化o 满足运行工程学的输入输出风格使用标准的控制结构o 单入口、单出口标准结构o if c then s;o If c then s1 else s2;o Case I of a: s1; b: s2; n: sn; endcaseo Whil

2、e c do s;o for i:=m to n do s;o Repeat s until c;有限制的使用GOTO-1o用GOTO 语句实现提前退出循环;While c1 do begin if c2 then goto 20; if c3 then goto 30; end;20: Goto 40;30: 40:exit1:=false;exit2:=false;While(c1) and (not exit1) and (not exit2) doBegin if c2 then exit1:=true; if c3 then exit2:=true; EndIf(exit1) the

3、n goto 20;If(exit2) then goto 30;20:Goto 40;30:.40:有限制的使用GOTO-2oGOTO 语句用于出错处理 boolean push(item,index,stack,errflag) int errflag,index; float item,stack100; if(index=100) goto 10; errflag=0; index=index+1; stackindex=item; return(errflag);10: errflag=1; return(errflag);有限制的使用GOTO-3o 使用GOTO语句减少重复程序段。

4、o if p then a;b; else b; endif while q loop a;b; endloop if p thenL1: a; endif b;If q then goto l1;实现源程序的文档化o 有意义的变量名o 适当的注释o 标准的书写格式名字o 名字-非形式的、简练的、容易记忆的。o 一个变量的作用于越大,名字所携带的信息越多。o 全局变量-使用具有说明性的名字;并加以注释。o 局部变量-用短名字;Npending=0;/current length of input quene全局变量采用大写开头的变量名。 如:Globle常量用大写字母拼写。 如:CONSTAN

5、TS变量的类型也应体现: 如:strTo,strFrom 字符串名字o 保持一致性 class UserQueue int noOfItemsInQ,frontOfTheQueue, queueCapacity; public: int noOfUserInQueue() (1)同一个词queue分别用了Q、Queue、queue(2) 在类型UserQueue访问queue.queueCapacity多余可改为:class UserQueue int nitems, front, capacity; public: int nusers() queue.capacity+;n=queue.n

6、users();名字o 函数采用动作性的动词,后面可以跟着名词。 now=date.getTime(); putchar(/n);表达式和语句o 用缩行显示程序的结构 for(n=0;n100;fieldn+=0); *i=0; return(n);改为: for(n=0;n100;n+) fieldn=0; *i=0; return(n);表达式和语句o 使用表达式的自然形式。o 避免含有否定运算的条件表达式。o 可以改变关系运算方向,变成肯定的。o 如 if(!block_id=unblocks)改为 if(block_id=actblks)|(block_idunblocks)表达式和语

7、句o 用加括号的方式排除二义性。o 特别是C语言,关系运算符比逻辑运算符优先级高。 if(x&MASK=BITS)可能理解为: if(x&(MASK=BITS)应为: if(x&MASK)=BITS)表达式和语句o Leap_year=y%4=0&y%100!=0|y%400=0比较容易理解的应为: leap_year=(year%4=0)&(y%100!=0)|(year%400=0);表达式和语句o 分解复杂的表达式 *x+=(*xp=(2*k(n-m)?ck+1:dk-);分解为: if(2*knday) legal=FALSE; o最好采用习惯用法; for(i=0;i=65&c=A&c=Z) .利用语言去计算大小。如: fgets(buf,sizeof(buf),stdin);注释o 不要大谈明显的东西。o 给函数和全局数据加注释。满足运行工程学的输入输出风格o 输入方面:(1)对输入数据进行有效性检验;(2)输入格式力求简单、一致;(3)使用结束标志终止输入;(4)提示“请输入”,给出范围和边界值;(5)对多个输入组合进行检查。 o 输出方面:(1)对输出数据加以说明;(2)良好的报表和报告形式;(3)在线帮助;(4)对可能

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论