因为我手上的项目的功能基本完成,加上正在阅读《Effective C++》,所以在自己的项目中实践一些优化的细则。可能不是很全面和准确,确实我第一份工程项目的详细代码优化心得。
2. 找出项目出现的所有计时器ID值,以前都是自己手写的数字。现在全部定义为全局常量。根据《Effectve C++》的优化规则,项目中尽量少用#define,,所以少用宏定义。
3. 检查工程中出现的所有数字;看是否需要定义成有意义的宏,或者常量。一般数字直接写在程序中会造成代码维护的麻烦。因为特定的数字运算操作,后期的人看不懂为什么要进行这些操作。因此替换成有意义的宏或者常量。
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行的代码理解起来就很困难了。我的建议是超过这个数字就把一个函数代码分割成两个