- 1、本文档共47页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第14讲编码剖析
当 i<j 时, i / j = 0 当 j<i 时, j / i = 0 得到的数组 当i≠j时 V[i][j] = ( i/j ) * ( j/i ) = 0 当i=j时 V[i][j] = ( i/j ) * ( j/i ) = 1 这样得到的结果 V 是一个单位矩阵。 写成以下的形式,就能让读者直接了解程序编写者的意图。 for ( i=1; i = n; i++ ) for ( j=1; j = n; j++ ) if ( i == j ) V[i][j] = 1.0; ELSE V[i][j] = 0.0; 7.1.4 编码-编码风格 2.3.4. 除非对效率有特殊的要求, 程序编写要做到清晰第一,效率第二。不要为了追求效率而丧失了清晰性。事实上,程序效率的提高主要应通过选择高效的算法来实现。 2.3.5.首先要保证程序正确, 然后才要求提高速度。反过来说,在使程序高速运行时,首先要保证它是正确的。 7.1.4 编码-编码风格 2.3.6.避免使用临时变量而使可读性下降。例如,有的程序员为了追求效率,往往喜欢把表达式 A[I]+1/A[I]; 写成 AI=A[I]; X=AI+1/AI; 这样将一句分成两句写,会产生意想不到的问题。 2.3.7. 让编译程序做简单的优化。 2.3.8. 尽可能使用库函数 2.3.9. 避免不必要的转移。同时如果能保持程序可读性,则不必用 GO TO语句。 例如,有一个求三个数中最小值的程序: 7.1.4 编码-编码风格 IF ( X< Y ) GOTO 30 IF (Y< Z) GOTO 50 SMALL=Z GOTO 70 30 IF ( X < Z)GOTO 60 SMALL=Z GOTO 70 50 SMALL=Y GOTO 70 60 SMALL=X 70 CONTINUE 程序只需编写成: small=x; if ( y small ) small=y; if ( z small ) small=z; 所以程序应当简单,不必过于深奥, 避免使用GOTO语句绕来绕去。 7.1.4 编码-编码风格 2.3.10.尽量只采用三种基本的控制结构来编写程序。除顺序结构外,使用 if-then-else来实现选择结构;使用 do-until或do-while来实现循环结构。 2.3.11. 避免使用空的ELSE语句和IF… THEN IF…的语句。这种结构容 易使读者产生误解。例如, if ( char = a’ ) if ( char = ’z’ ) cout “This is a letter。”; else cout “This is not a letter。”; 可能产生二义性问题。 2.3.12.避免采用过于复杂的条件测试。 7.1.4 编码-编码风格 2.3. 13.尽量减少使用“否定”条件的条件语句。例如,如果在程序中出现 if ( !( char<‘0’ || char >‘9’ ) ) ……改成 if ( char = 0’ char = 9’ ) ……不要让读者绕弯子想。 2.3. 14. 尽可能用通俗易懂的伪码来描述程序的流程,然后再翻译成必须使用的语言。 2.3. 15. 数据结构要有利于程序的简化。 2.3. 16. 要模块化,使模块功能尽可能单一化,模块间的耦合能够清晰可见。 2.3. 17. 利用信息隐蔽,确保每一个模块的独立性。 7.1.4 编码-编码风格 2.3. 18. 从数据出发去构造程序。 2.3. 19. 不要修补不好的程序,要重新编写。也不要一味地追求代码的复用,要重新组织。 2.3. 20. 对太大的程序,要分块编写、测试,然后再集成。 2.3. 21. 对递归定义的数据结构尽量使用递归过程。 3、输入和输出 输入和输出信息是与用户的使用直接相关的。输入和输出的方式和格式应当尽可能方便用户的使用。一定要避免因设计不当给用户带来的麻烦。 因此,在软件需求分析阶段和设计阶段,就应基本确定输入和输出的风格。系统能否被用户接受,有时就取决于输入和输出的风格。 7.
您可能关注的文档
- 第14章-物联网通信技术(曾宪武)LXX2014.7.ppt
- 第13课_伸缩玩具.ppt
- 第14章PLSQL程序设计.ppt
- 第13章国家预算和预算管理.ppt
- 第13讲简单机械.ppt
- 第14章_模具装配工艺.ppt
- 第13课拼贴添画.ppt
- 第14章企业创新.ppt
- 第14章企业业务流程重构.ppt
- 第14章二极管及整流电路.ppt
- 吉安县公开招聘专职文明实践员笔试备考试题及答案解析.docx
- 2025重庆枫叶国际学校招聘教师笔试备考试题及答案解析.docx
- 游机队电玩自制联网教程-tplink.pdf
- 2025重庆新华出版集团招聘1人笔试模拟试题及答案解析.docx
- 2025宜宾高新丽雅城市产业发展有限公司公开招聘笔试模拟试题及答案解析.docx
- 2025云南保山市龙陵县勐糯镇人民政府招聘合同制专职消防员1人笔试模拟试题及答案解析.docx
- 11.1生活中常见的盐 九年级化学人教版下册.pptx
- 6.1法律保护下的婚姻 高二政治《法律与生活》课件(统编版选择性必修2)(新版).pptx
- 文昌市中小学教师校园招聘29人笔试模拟试题及答案解析.docx
- 10.1.5 常见的酸和碱(第5课时)课件-九年级化学人教版下册.pptx
文档评论(0)