1、不要使用全局函数,应该代之以类的静态函数。
2、不要使用全局变量,如果必须使用,请定义一个全局结构,把这个全局变量放到结构里去。更好的方法是定义一个全局的单例。
3、MFC的界面组件没有考虑线程安全,因此在工作线程里不要直接操作操作界面组件。
如果需要更新界面,有两种方法
a、用mutex保护;
b、给界面发消息,在界面线程里更新。
推荐第二种。
4、不要随意开线程。要确保CreateThread返回的线程句柄在合适的时机CloseHandle。
5、尽量使用栈上的变量,如果使用了堆上变量,请确保它能在合适的时机得到释放。
因为栈上的变量不需要考虑释放内存,所以不用花大功夫考虑生命期。
不过现在的PC,动辄上G内存,要是有内存泄露,一时半会儿也不会死掉。
假设电脑有1G内存,我们的程序每秒钟泄露1k,那么可以差不多支持1百万秒,折合大概12天。
6、释放对象数组,要使用delete[]。
如果使用delete,虽然内存都会释放,但是只有第一个对象的析构函数被调用,其他对象都是直接被灭。
7、不要在意运行效率,要相信cpu厂商的实力 :)。作为软件人员,请记住开发效率和维护效率更重要。
8、不要在界面的消息处理函数里做长时间操作。
在消息处理函数里不要超过0.1秒,否则用户就会感觉到界面僵硬。
如果需要长时间操作,两种办法:
a、将长时间操作拆为多个步骤,用timer处理;
b、开工作线程。
本文提供了MFC编程中的一些最佳实践建议,包括避免使用全局函数和变量、正确处理线程和界面更新、合理分配内存、关注运行效率及避免在界面处理函数中执行长时间操作等内容。
1380

被折叠的 条评论
为什么被折叠?



