模块四KC02090000015模块四编码任务2代码优化

上传人:E**** 文档编号:91051118 上传时间:2019-06-21 格式:PPT 页数:23 大小:2.07MB
返回 下载 相关 举报
模块四KC02090000015模块四编码任务2代码优化_第1页
第1页 / 共23页
模块四KC02090000015模块四编码任务2代码优化_第2页
第2页 / 共23页
模块四KC02090000015模块四编码任务2代码优化_第3页
第3页 / 共23页
模块四KC02090000015模块四编码任务2代码优化_第4页
第4页 / 共23页
模块四KC02090000015模块四编码任务2代码优化_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《模块四KC02090000015模块四编码任务2代码优化》由会员分享,可在线阅读,更多相关《模块四KC02090000015模块四编码任务2代码优化(23页珍藏版)》请在金锄头文库上搜索。

1、软件开发与项目管理,主讲人 蒋卫祥 常州信息职业技术学院,任务2 代码优化,模块四 编码,能力目标 学会在编码中使用代码优化,知识目标 理解代码优化常用技术、局部优化 理解函数内的代码优化、类的代码优化、类之间的代码优化 理解C#代码优化、数据库访问性能优化等知识,代码优化常用技术 删除多余运算 代码外提 强度削弱 变换循环控制条件 合并已知量与复写传播 删除无用赋值,任务2 代码优化,模块四 编码,删除多余运算,任务2 代码优化,模块四 编码,代码外提,任务2 代码优化,模块四 编码,强度削弱,任务2 代码优化,模块四 编码,变换循环控制条件,任务2 代码优化,模块四 编码,合并已知量与复写

2、传播,任务2 代码优化,模块四 编码,删除无用赋值,任务2 代码优化,模块四 编码,局部优化 基本块的划分 基本块的变换,任务2 代码优化,模块四 编码,划分中间代码为基本块步骤 求出四元式程序中各个基本块的入口语句 对每一入口语句,构造其所属的基本块 凡未被纳入某一基本块的语句可以把它们删除,任务2 代码优化,模块四 编码,基本块的变换 删除公共子表达式 删除无用代码 重新命名临时变量 交换语句次序,任务2 代码优化,模块四 编码,函数内的代码优化 去掉从来没有用到过的参数 始终进行参数检验 函数的参数不宜过多 如果函数从来不会修改某个参数的值,则应该尽量将参数声明为const 如果函数中用

3、到的类成员变量或者其他全局变量可以用传入参数的方式代替 一个单一的函数的代码量不宜过多 单个函数中尽量避免相同的代码 尽量保持函数只有一个出口,即只有一处return语句,任务2 代码优化,模块四 编码,类内的代码优化 只有类对外的接口才声明为public 在类的成员函数中如果存在着相同的代码,则将其抽取成为private的成员函数,以减少代码的冗余 尽量减少成员函数之间依赖,特别是对成员变量值的依赖,任务2 代码优化,模块四 编码,C#代码优化方法 撤消 事务 值类型 字符串 内联,任务2 代码优化,模块四 编码,数据库访问性能优化 数据库的连接和关闭 使用存储过程 优化查询语句 使用Pre

4、pare 用索引号访问代替名称索引号访问属性 利用索引加快查找行的效率,任务2 代码优化,模块四 编码,任务实施用户数据库访问层接口实现代码,任务2 代码优化,模块四 编码,public class User : IUser / 使用数据库连接池访问数据库 private static string DBContionString = SqlHelper.ConnectionStringLocalTransaction; /以下为存储过程名称 private const string UP_GET_LOGONINFO = “UP_UGetLogonInfo”; public User() pu

5、blic IList GetUserLogonInfo(string userID, string userPassword, string userIdentity) List userLogonInfoList = new List(); SqlParameter parms = new SqlParameter new SqlParameter(PARM_LOGON_USERID,SqlDbType.NVarChar,20), new SqlParameter(PARM_LOGON_USERPASSWORD,SqlDbType.NVarChar,20), new SqlParameter

6、(PARM_LOGON_USERIDENTITYID,SqlDbType.NVarChar,1); parms0.Value = userID; parms1.Value = userPassword; parms2.Value = userIdentity;,任务2 代码优化,模块四 编码,任务实施用户数据库访问层接口实现代码,using (SqlDataReader sdr = SqlHelper.ExecuteReader(DBContionString,CommandType.StoredProcedure, UP_GET_LOGONINFO, parms) while (sdr.Re

7、ad() UserLogonEntity userLogonInfo = new UserLogonEntity(sdr“OrganizeID“.ToString(), sdr“OrganizeName“.ToString(), sdr“UserID“.ToString(), sdr“UserName“.ToString(), sdr“UserLevel“.ToString(); userLogonInfoList.Add(userLogonInfo); return userLogonInfoList; ,任务实施代码优化分析 代码中使用连接池 private static string D

8、BContionString = SqlHelper.ConnectionStringLocalTransaction; 使用连接池改善打开和关闭数据库对性能的影响,提高数据库访问的效率。 使用存储过程 private const string UP_GET_LOGONINFO = “UP_UGetLogonInfo”; 存储过程在服务器端运行,独立于ASP.NET程序,减少数据库操作语句在网络中的传输。,任务2 代码优化,模块四 编码,任务实施代码优化分析 函数内代码优化 上述代码中的函数内的代码进行了优化。去掉了没有用过的参数,没有冗余,保持函数内的代码只有一个出口,即return语句。 类中代码优化 上述代码中类内的代码进行了优化。对外的接口声明为public,没有成员函数之间的依赖,类的成员函数中不存在相同的代码。,任务2 代码优化,模块四 编码,代码优化常用技术 局部优化 函数内的代码优化 类的代码优化 C#代码优化 数据库访问性能优化,总结,模块四 编码,拓展训练 实施学分管理系统源代码中函数内部代码优化; 实施学分管理系统源代码中类内部与类之间的代码优化; 实施学分管理系统源代码中C#相关代码优化; 实施学分管理系统源代码中数据库访问性能优化。,任务2 代码优化,模块四 编码,再 见,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号