如果追求程序效率需要付出降低正确性、可靠性、健壮性、可读性等质量代价,那么可以放弃这部分效率的提高 。
规则2:优先提高全局效率
只有整个程序的执行效率提高才有意义,把时间和精力放在某一个不常被调用的小模块优化上得不偿失 。
规则3:针对瓶颈部分优化
在实际开发工作中,我们经常遇到一些程序执行时间过长,需要优化 。有些人上来就开始逐行检查代码 , 把认为可能影响效率的地方都尽量修改一遍 。这样做不仅浪费时间,更重要的是,常常修改一遍后依然看不到明显的效果 。
这种情况下,正确的方法是先找出限制效率的“瓶颈”,在这个部分做有针对性的优化 。这么做才事半功倍 。
规则4:先优化数据结构和算法,再优化执行代码
程序的两大要素是算法和数据结构 , 它们贯穿于程序的始终 。因此,对它们的优化能够起到意想不到的良好效果 。
规则5:时间效率和空间效率的矛盾
大多数时候,时间效率和空间效率是对立的 。这就是程序设计中两个很重要的方法论,一个是“以空间换时间”,另一个是“以时间换空间” 。此时应当分析那个更重要,作出适当的折中 。
早间年,硬件成本比较高,人们大多都采用以时间换空间的策略,花费一些时间,减少内存开销 。如今,内存条的价格已经非常便宜了,人们注重的`是软件的友好性,因此大部分时候都是用空间换时间 。
规则6:代码不是越短越好
很多资深程序员都会有这样一个误区,完成同一个功能 , 代码越短越好 。还经常有人说这样的话:“就这么个功能我几行代码就搞定了” 。其实 , 追求代码精简是一个很大的误区 。因为精简的代码并不一定产生高效的机器码 。同时,它还付出了可读性这一代价 。正确的做法是适当地做到代码精简 。
注意事项
1. 书写错误
经常有人把“==”误写成“=” 。“||”、“”、“=”、“=”这类符号也很容易发生少一个的错误 。最可怕的是编译器根本发现不了这样的错误 。
2. 初始化
变量(指针、数组)被创建之后应当立刻初始化,防止把未被初始化的变量当成右值使用 。
3. 数值错误
这也是一类非常容易忽略的错误 。变量的初值、缺省值错误,或精度不够,一旦出错不易发现 。
4. 类型转换
为了避免数据类型转换的错误,我们要尽量使用显式的数据类型转换,避免在编译器中执行非我们所愿的隐式数据类型转换 。
5. 溢出
溢出分两种,一种是超过数据类型取值范围的赋值 , 另一种是数组下标范围越界 。这两种都是要时刻注意的 。
7. 避免编写技巧性很高代码
技巧性过高的代码一定是可读性较差的代码 , 这种代码不易维护,后期的成本较高 。
8. 好代码要复用,坏代码要重写
如果原有的代码质量比较好,尽量复用它 。但是不要修补很差劲的代码 。当我们遇到差劲代码时,最好的方法是重写新代码替换它 。
9. 尽量使用标准库函数
对于标准库中有的函数,我们不要再花时间自己实现 。很简单,你自己实现的一定不比库函数效率高 。
10. 把编译器的选择项设置为最严格状态
只有最严格的审查自己的代码,才能写出优秀的软件产品 。很多人甚至连编译过程中出现的warning都懒得处理,这种态度坚决不能有 。
【c语言标准函数的效率 c++标准函数】关于c语言标准函数的效率和c++标准函数的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。
推荐阅读
- 欢乐城堡的冒险游戏,欢乐城堡在哪
- 鸿蒙系统开始研发时间,鸿蒙系统研发了多少年
- 华为设置代理服务器,华为手机怎么设置代理ip
- mysql排序怎么样 mysql 排序函数
- 那些离谱小程序怎么弄,离线小程序
- phpcms将搜索嵌入内容模块,php 搜索
- 2020的角色扮演游戏,2020角色扮演游戏排行榜前十名
- linux命令禁用 linux禁用用户命令
- 皮皮虾视频小程序下载,皮皮虾视频小程序下载不了