ImageVerifierCode 换一换
格式:DOCX , 页数:5 ,大小:66.81KB ,
资源ID:4389660      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4389660.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(如何写出高效的程序代码.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

如何写出高效的程序代码.docx

1、如何写出高效的程序代码如何写出高效的程序代码什么是一个高效的软件?一个高效的软件不仅应该比实现同样功能的软件运行得更快,还应该消耗更少的系统资源。程序的时间效率是指运行速度,空间效率是指程序占用内存或者外存的状况。另外程序的效率我们也可以分为全局效率和局部效率。全局效率是指站在整个系统的角度上考虑的效率,局部效率是指站在模块或函数角度上考虑的效率。1. 使用整数和长整数提高代码运行速度最简单的方法莫过于使用正确的数据类型了。也许你不相信,但是正确地选择数据类型可以大幅度提升代码的性能。在大多数情况下,程序员可以将短整数型、小数型和双精度小数型的变量替换为整数(Integer)或长整数(Long

2、)类型的变量,因为易语言处理整数和长整数的能力远远高于处理其它几种数据类型。在大多数情况下,程序员选择使用小数型或双精度小数型的原因是因为它们能够保存小数。但是小数也可以保存在整数类型的变量中。例如程序中约定有三位小数,那么只需要将保存在整数型变量中的数值除以1000就可以得到结果。根据我的经验,使用整数和长整数替代短整数型、小数型和双精度小数型后,代码的运行速度可以提高将近10倍。但是我们也不要老是强调使用使用整数和长整数,因为在程序中数据类型的定义还牵涉一个关键的问题,就是数据的安全,频繁而无规范地定义数据类型会使算法出现漏洞,是数据的安全和临界判断有问题.对财务和工程计算而言,小数点的精

3、度是很敏感的数据,只能用双精度数据来规范.另外, 换成整型也会导致程序可读性急剧下降.2. 避免使用通用型数据通用型的变量需要16个字节的空间来保存数据,而一个整数(Integer)只需要2个字节。通常使用通用型变量的目的是为了减少设计的工作量和代码量,也有的程序员图个省事而使用它。但是如果一个软件经过了严格设计和按照规范编码的话,完全可以避免使用变体类型。3. 尽量避免使用属性在平时的代码中,最常见的比较低效的代码就是在可以使用变量的情况下,反复使用属性(Property),尤其是在循环中。要知道存取变量的速度是存取属性的速度的20倍左右。下面这段代码是很多程序员在程序中会使用到的:容器名:

4、 数值 类型:整数型容器名: 容器 类型:整数型计次循环首(7,容器)文本1.内容 = 文本1.内容 + #换行符 + 到文本(数值容器)计次循环尾()下面这段代码的执行速度是上面代码的20倍。容器名: 数值 类型:整数型容器名: 容器 类型:整数型容器名: 文本 类型:文本型文本 = 文本1.内容计次循环首(7,容器)文本 = 文本 + #换行符 + 到文本(数值容器)计次循环尾()文本1.内容 = 文本另外要注意,这个涉及一个编程思路,用属性当变量的作法大多数情况可以简化算法。所以有时候也不能一味强调用变量代替属性。6. 避免调用很短的子程序调用只有几行代码的子程序也是不经济的-调用子程序

5、所花费的时间或许比执行子程序中的代码需要更长的时间。在这种情况下,你可以把子程序中的代码拷贝到原来调用子程序的地方。但是有时候小的子程序可能会被调用很多次而不是只有两三次,这时就应该调用它。7. 减少对子对象的引用在易语言中,通过使用.来实现对象的引用。例如:窗口1.编辑框1.内容在上面的例子中,程序引用了两个对象:窗口1和编辑框1。利用这种方法引用效率很低。但遗憾的是,没有办法可以避免它。我的“多媒体模块”就有这个缺点。8. 检查文本型数据是否为空大多数易语言用户在检查文本型数据是否为空时会使用下面的方法:如果 (文本1.内容 = )注释: 执行操作结束如果很不幸,进行字符串比较需要的处理量

6、甚至比读取属性还要大。因此我建议大家使用下面的方法:如果 (到数值(文本1.内容) = 0 )注释: 执行操作结束如果另一个不同的意见是:问题在于当文本字串为 ABC之类的非数值型时, 到数值(ABC)=0并不表示为空。文本比较的效率并不低,在底层算法中,一般会直接比较长度才会继续比较内容。9. 使用数组,而不是多个变量当你有多个保存类似数据的变量时,可以考虑将他们用一个数组代替。在易语言中,数组是最高效的数据结构之一。10. 尽量使用动态数组,而不是静态数组使用动态数组对代码的执行速度不会产生太大的影响,但是在某些情况下可以节约大量的资源。11. 销毁对象无论编写的是什么软件,程序员都需要考

7、虑在用户决定终止软件运行后释放软件占用的内存空间。但遗憾的是很多用户对这一点好像并不是很在意。正确的做法是在退出程序前需要销毁程序中使用的对象。例如:关闭数据库:关闭(数据库名称)、全部关闭(),关闭打开(播放)的文件,关闭载入的图片等。中止程序执行时应该要关闭打开的文件(包括数据库文件、图片文件等),但是窗口销毁对销毁窗口及窗口单元来说是自动的,已足够做释放用,在窗口内最好不要随意销毁窗口单元,可能会导致程序运行中的潜在的单元数据访问而崩溃.只有在图形buffer情况才需要经常销毁。程序加载时间上的差别。也有人认为两者从逻辑上看效率应该差不多。14. 使用窗口单元“移动”方法在改变对象的位置

8、时,有些用户喜欢使用“宽度”、“高度”、“顶边”和“左边”属性。例如:按钮1.宽度 = 100按钮1.高度 = 100按钮1.顶边 = 0按钮1.左边 = 0实际上这样做效率很低,因为程序修改了四个属性,而且每次修改之后,窗口都会被重绘。正确的做法是使用Move方法:按钮1.移动(0,0,100,100)15. 减少图片的使用图片将占用大量内存,而且处理图片也需要占用很多CPU资源。在软件中,如果可能的话,可以考虑用背景色来替代图片-当然这只是从技术人员的角度出发看这个问题。但是如果为了优化程序界面,使用图形换来的好处可能远胜节约下的资源,否则就不会有XP,也不会有游戏的进步了。16. 编译优

9、化易语言的程序编译有三个选项:“编译”、“独立编译”、“编译生成安装软件”。优先使用的次序应该是“编译生成安装软件”、“编译”、“独立编译”,因为“独立编译”会将易语言系统中所有的支持库都编译进去,而“编译生成安装软件”只选择程序中必要的支持库编译。要脱离易语言环境也可以运行,就不要使用“编译”而应用“编译生成安装软件”或“独立编译”。总结:执行效率和程序可读性永远是对矛盾,两者应该通盘考虑;资源占用和程序易用性永远是对矛盾,两者也应该通盘考虑。基于此,下面探讨一些提高程序的效率的规则。【规则1】不要一味地追求程序的效率,应当在满足正确性、可靠性、健壮性、可读性等质量因素的前提下,设法提高程序的效率。【规则2】以提高程序的全局效率为主,提高局部效率为辅。【规则3】在优化程序的效率时,应当先找出限制效率的“瓶颈”,不要在无关紧要之处优化。【规则4】先优化数据结构和算法,再优化执行代码。先考虑某功能是否可以用函数(命令)来实现,如果找不到这样的函数,再考虑用其他代码实现。【规则5】有时候时间效率和空间效率可能对立,此时应当分析那个更重要,作出适当的折衷。例如多花费一些内存来提高性能。【规则6】不要在什么时候都只追求紧凑的代码,因为紧凑的代码并不能产生高效的机器码。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1