软件工程实践6编程

软件工程实践6编程

ID:40620225

大小:292.33 KB

页数:68页

时间:2019-08-05

软件工程实践6编程_第1页
软件工程实践6编程_第2页
软件工程实践6编程_第3页
软件工程实践6编程_第4页
软件工程实践6编程_第5页
资源描述:

《软件工程实践6编程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、北京理工大学 软件工程实践汤铭端中国航天科工集团公司204所第五讲软件实现内容和目的编程语言的选择编程风格程序效率编码要求静态分析代码审查软件调试编程编程是设计的自然结果编程语言的特性和编程风格会深刻地影响软件的重量和可维护性软件实现是一个不断变换的过程:设计——源程序——目标代码——机器码编程语言的选择应用领域算法及运算的复杂性软件运行的环境性能数据结构的复杂性软件开发组成员对该语言的熟悉程度编程风格程序必须是可以理解的程序的风格应该强调简单和清晰影响程序风格的因素有:源程序内部文档化数据说明的方法语句的结构I/O的方法源程序文档化选择好标识符(变量

2、和标号)的名字挑选有意义的标识符名字安排注解序言式注解(头文件)功能注解使程序的结构一目了然缩进数据说明数据说明的次序应该规范化多个变量说明时最好按字典数顺序排列对复杂结构用注解说明语句结构每个语句应该简单直接,不应该为提高效率而把语句复杂化使程序简单易懂避免采用复杂的条件语句不要用“否定”条件的条件语句避免多重的循环嵌套或条件嵌套用括号使逻辑表达式或算术表达式更为清晰用空格及有意义的符号使语句内容清晰明确反问自己“如果这程序不是我编的,我能看懂吗?”输入/输出对批处理I/O符合逻辑地组织输入I/O出错检查好的I/O出错恢复功能清晰的输出报告格式对交互

3、式I/O简单而有提示的输入方式完备的出错处理及出错恢复人机对话输出I/O格式的一致性原则:检查所有输入数据的合法性检查输入项的各种重要组合是否合理输入格式要简单最好采用数据结尾指示符,而不应要求用户规定“输入项目的数量”交互式I/O要求用户输入时,标明交互输入可选择的种类和范围输出时保持格式的一致性设计和标明所有的输出Wasserman交互系统设计原则原则把计算机的内部特性掩盖起来不让用户看到使程序“穿上防弹衣”,保证程序不被用户破坏如果用户的请求会产生重大的后果,就要提醒用户在使用此程序时提供联机的帮助条件按照用户的水平设计输入要求按照输出设备的速度

4、设计输出信息区别对待不同类型的用户保持一致的响应时间应尽量减少用户处理出错的工作量效率要求有效地利用临界资源是自然的CPU周期和内存单元常被看作临界资源有关效率的三个格言:效率是一种性能需求。软件的效率应根据需要,而不是尽可能地高!好的设计必然提高效率。程序的简单性与程序的效率往往是一致的。总之不要去牺牲程序的清晰性、可读性或正确性去追求效率的非本质的提高源程序的效率源程序的效率与算法效率直接相关编程风格会影响运行速度及所需内存的大小编译器的“优化”特性是提高效率的一种手段原则:在具体编程前应简化算术表达式及逻辑表达式细心地分析多层嵌套循环以确定能否把

5、一些语句或表达式移到循环之外尽量避免采用多维数组尽量避免采用指针及复杂的表采用“快”的算术运算不要把不同的数据类型混在一起只要可能就采用整型数的算术运算和布尔表达式内存效率大机器领域内存几乎无限制,虚存使“内存效率”不等同于“占用最小的内存”微机领域内存的限制仍是很现实的问题采用汇编语言可以节省内存提高运行效率的技术往往可以同时节省内存使程序简单是提高内存效率的关键输入输出效率提高I/O效率的指导原则:全部I/O应有缓冲以避免过于频繁的信息交换对外存应该选用最简单的可接收的存取方式与外存联系的I/O操作应成块地传送数据与终端及行式打印机联系的I/O操作

6、应考虑设备的特性,以改进质量与速度如果“超高效率”的I/O无法被人们理解,则是毫无意义的Kernighan和Plauger给出的好的程序设计风格的规则写得清晰——而不是太灵巧简单而直接地说明你的用意使用库功能避免使用临时变量写清晰——不要为了“效率”而牺牲清晰让机器干苦活用调用一个公共的例程去代替重复的表示选用不易混淆的变量名避免使用不必要的转移Kernighan和Plauger给出的好的程序设计风格的规则不使用条件转移代替一个逻辑表达式假如一个逻辑表达式难以理解,则试着对其进行变换使用数组,避免重复的控制序列选用使程序简单的数据表示法先用一个容易理解

7、的伪语言写程序,然后再翻译成你所用的语言 使用IF…ELSEIF…ELSEIF…ELSE…ENDIF实施多路选择模块化,使用子例程Kernighan和Plauger给出的好的程序设计风格的规则确保注释与代码一致不要用注释去精确地重复代码——使每一个注释有价值不要注释或修补坏代码——重写使用有意义的变量名使用有意义的语句标号程序格式应有助于读者理解程序为你的数据设计提供文档仅使用GOTO去实施一个基本的结构Kernighan和Plauger给出的好的程序设计风格的规则假如你能保持程序的可读性,则完全不必使用GOTO以小片段的方式写和测试一个大程序对已定义

8、的递归数据结构使用递归过程检测输入的合理性和合法性确保输入没有违反程序的限制使用文件的结尾或标

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。