项目优化必须做的几件事
来源:互联网 发布:北京王府井mac专柜 编辑:程序博客网 时间:2024/05/24 06:43
因为我手上的项目的功能基本完成,加上正在阅读《Effective C++》,所以在自己的项目中实践一些优化的细则。可能不是很全面和准确,确实我第一份工程项目的详细代码优化心得。
2. 找出项目出现的所有计时器ID值,以前都是自己手写的数字。现在全部定义为全局常量。根据《Effectve C++》的优化规则,项目中尽量少用#define,,所以少用宏定义。
- 对策:定义这些值到GlobalUtil.h文件。定义为CONST UINT变量;
- 另外还测试了不同的类可以使用相同的值。
3. 检查工程中出现的所有数字;看是否需要定义成有意义的宏,或者常量。一般数字直接写在程序中会造成代码维护的麻烦。因为特定的数字运算操作,后期的人看不懂为什么要进行这些操作。因此替换成有意义的宏或者常量。
- 问题:我的工程中出现了关于Control Bar位置排放的纯数字的计算。这些都是不适当的。别人看不懂为什么要进行这些像素的加减。
- 问题:关于鼠标不动5秒中,Control bar消失,我也是直接写的数值。到时候也会造成误解。对于更改时间也不容易。
4. 检查所有文件中的所有非内置类型变量的初始化。确保被初始化;
- 对策:检查文件中所有的构造函数。在构造函数中初始化所有的内置类型成员变量
5. 检查所有Destroy函数;确保类中所用到的资源都释放;
6. 检查所有字符串的GetBuffer( )操作,确保有配对的ReleaseBuffer( )操作。
7. 检查所有new操作之后是否有delete操作;
8. 利用DebugView来去除工程中明显的内存泄漏
9. 检查类中变量。设置为PUBLIC的变量是否可以设置为PRIVATE;只供内部功能函数访问,或者仅仅作为状态标识;
10. 检查函数的参数,是否可以设置为CONST,或者是否可以更换为CONST REFERENCE;
11. 修改函数结构,编写异常处理代码。利用EXCEPTION编程;
12. 去掉没有必要存在的变量;
13. 功能相同的类的相同的部分可以设置权限为Public和Protected,将来可以写到基类;属于自己特定的部分就设置访问权限为Private(),不需要抽象到基类。
14. 只是提供类的私有变量的公共访问接口函数,那么可以直接在类中定义,构成内联函数;
15. 检查指针的初始化;指向资源指针删除操作和应用前的判断操作;
2008-12-25
16.如果在项目中使用指针,最好在使用指针之前有判断;判断其非空,这样可以减少很多错误。在特定的地方加入ASSERT语句有利于逻辑思维的澄清;
20090107
这几点源自CSDN的一篇文章:<<写出漂亮代码的 七种方法>>
http://vipnews.csdn.net/newscontent.aspx?pointid=2008_12_31_132117698
1.尽快结束 if语句
2.如果只是简单的布尔运算(逻辑运算),不要使用if语句
例如:
1 function isStringEmpty(str){
2 if(str === "") {
3 return true;
4 }
5 else {
6 return false;
7 }
8 }
可以写为:
1 function isStringEmpty(str){
2 return (str === "");
3 }
3.使用空白,这是免费的
很多开发者不愿意使用空白,就好像这要收费一样。我在此并非刻意地添加空白,粗鲁地打断代码的连贯性。在实际编写代码的过程中,会很容易地发现在什么地方加入空白,这不但美观而且让读者易懂.
4.不要使用无谓的注释
无谓的注释让人费神,这实在很讨厌。不要标出很明显的注释。
5.不要在源文件中留下已经删除的代码,哪怕你标注了
如果你使用了版本控制,那么你就可以轻松地找回前一个版本的代码。如果别人大费周折地读了你的代码,却发现是要删除的代码,这实在太恨人了。
6.不要有太长的代码
看太长的代码实在太费劲,尤其是代码本身的功能又很小。我并不是说非要坚持70个字符以内,但是一个比较理想的长度是控制在120个字符内。如果你把代码发布在互联网上,用户读起来就很困难。
7.不要在一个功能(或者函数内)有太多代码行
如果一个函数超过了50行,看起来有多费劲你知道么,还有没完没了的if循环,而且你还的滚动鼠标前后对照这段代码。对我而言,超过35行的代码理解起来就很困难了。我的建议是超过这个数字就把一个函数代码分割成两个。
- 项目优化必须做的几件事
- 项目优化必须做的几件事
- 网页优化必须做的26件事情
- 进行全站优化必须做的26件事情
- 项目管理必知项,做项目经理必须知道的几个事情
- 必须做的事情
- 每天必须做的事情
- 做java web 开发的简单项目必须具备的知识——供新手参考
- 做java web 开发的简单项目必须具备的知识
- 商战之:告诉你做任何项目必须遵循的商业基本法则!
- unity3d移动平台性能优化(9):为了好一点的图形效果可以酌情做哪些,哪些必须避免。
- 必须写下的项目经历
- 程序员每天必须做的事
- 做开发必须是创造性的
- 做网络必须掌握的83句话
- 做网络必须掌握的83句话
- 男人一生必须做的十件事
- 男人一生必须做的十件事
- Net Remoting的一些资料
- 关于Windows MFC程序生与死流程的总结
- FLEX问题总汇(1)
- 初学者这样分析MFC代码(Dialog based工程)
- sockets API的基本介绍
- 项目优化必须做的几件事
- windows 远程桌面
- Boost库在.net2008下的使用(3)
- Sun Solaris 修改IP地址或者主机名
- 50种方法巧妙优化你的SQL Server数据库
- 阿捷的XML入门教程
- 12个.net 开发者值得去读的国外Blog
- DEBUG使用详解
- Symbian 得到接入点ID-网络编程简单示例