欢迎来到天天文库
浏览记录
ID:58999251
大小:774.50 KB
页数:50页
时间:2020-09-27
《软件工程(pankaj jalote版)第7章编码ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实践经验37.1.3程序设计实践经验7.1.3程序设计实践经验本小节分四个部分。数据类型参数检查语句鲁棒性实践经验7.1.3程序设计实践经验1/4数据类型参数检查语句鲁棒性实践经验7.1.3程序设计实践经验实践经验:数据类型篇尽量重复使用用户自定义数据类型比如枚举类型可以把一周中的天定义为类型。7.1.3程序设计实践经验2/4数据类型参数检查语句鲁棒性实践经验7.1.3程序设计实践经验实践经验:参数检查篇参数检查是否合法长度合理吗?有非法参数吗?修改修改后会引入副作用吗?逻辑参数之间的隐含的相关性对吗?参数
2、个数不要太多了。7.1.3程序设计实践经验3/4数据类型参数检查语句鲁棒性实践经验7.1.3程序设计实践经验实践经验:语句篇If语句不要嵌套太深Switch语句最后要写default语句Goto语句万不得已时再用7.1.3程序设计实践经验4/4数据类型参数检查鲁棒性实践经验语句7.1.3程序设计实践经验鲁棒性:在异常情况也能运行。容忍非法输入容忍错误系统状态系统坚决不崩溃47.1.4编码标准7.1.4编码标准编码标准命名原则文件规范语句注释布局7.1.4编码标准程序中命名很重要。1/5大小写大写:常量、类、
3、大范围变量小写:一般变量、包、混合写:方法名例如getValue()前缀和后缀前缀:is后缀:Exception常用动词:放在名词前Find、compute——findMin()computerMean()7.1.4编码标准:文件规范2/5好的文件规范能帮助阅读者查找。扩展名要写对类和文件对应每一长度<80太长了要换行7.1.4编码标准3/5编码标准命名原则文件规范语句注释布局编码标准布局7.1.4编码标准4/5命名原则文件规范语句注释7.1.4编码标准:注释学会加注释非常有用。4/5功能描述程序的总功能方便别
4、人理解什么地方加注释?模块开头为主要变量加注释为难理解的语句加注释7.1.4编码标准:布局5/5注意缩进注意空格7.2增量开发7.2增量开发设计方案模块规范编码开始分配工作给程序员使用增量开发7.2.1增量开发方法举例我们做一个计算器先完成功能计算:1+1=2再完成功能计算:12+12=24再完成功能计算12+12*12在完成功能计算机(12+12)*12+12……如此每次增强一点点功能7.2.1增量开发方法增量开发方法,功能随着时间在不断增强。7.2.1增量开发方法增量开发方法模型图模块规范写一些代码改善测
5、试脚本执行测试脚本出错了吗没出错功能齐全吗退出不齐全齐全了再次循环1出错修改准备新增加新功能7.2.3结队编程主要思想:两个人一起编程和检查代码。张三丰李四强编程阅读并检查代码寻找错误7.2.3结队编程主要思想:两个人一起编程和检查代码。优点:以增量方式评审,代码质量提高缺点:成本升高。7.3代码演化7.3代码演化的管理7.2.1代码演化的管理随着时间推进,代码版本在不断增多。7.2.1代码演化的管理代码变化的原因是什么?演化原因正常开发需求发生变化,模块规范变化,版本控制17.3.1源代码控制、生成7.3.1
6、源代码控制、生成文件管理系统原理仓库功能常见软件7.3.1源代码控制、生成:0/4什么是源代码控制系统?它是一个软件。它是一个管理源代码的软件。文档文档文档7.3.1源代码控制、生成:1/4代码管理系统的原理总机分机2分机3分机17.3.1源代码控制、生成:2/4仓库是一个概念。程序1版本1版本2版本3程序2版本1版本2版本3程序3版本1版本2版本3…程序n版本1版本2版本3仓库示意图7.3.1源代码控制和生成:功能3/4用软件自动管理文档,利于代码文档管理。基本功能上传文档修改文档下载文档刷新文档报告功能修
7、改的内容修改的原因修改的时间Build功能寻找所需版本编译组成软件功能7.3.1源代码控制和生成:常见的软件4/4CVSVSS重构技术27.3.2重构7.3.1重构本小节讲解四方面内容。重构含义功能黄金法则何时重构7.3.1重构:什么是重构?1/4重构是重新设计程序的结构。提高效率。不修改功能修改内部结构在编码过程中完成7.3.1重构:功能2/4重构是重新设计程序的结构。提高效率补充设计上的不完美修改模块内部结构减少设计上的压力7.3.1重构:黄金法则3/4测试重用以前的脚本重构完一定要测试小步骤的重构7.3
8、.1重构:何时去重构?2/4当我们闻到程序有坏气味时候,重构重构的时机过长方法过长类过长消息链过长过多参数过多类过多继承代码重复耦合性高下次再见!感谢同学的参与好好学习回头是岸END
此文档下载收益归作者所有