一周工作总结(C++开发)

1.  对于数据库的操作要封装成一个类。例如可以编写一个处理sql语句的函数,只要向该函数传入sql语句之后,就能执行相应的操作。我开始的时候都是在窗口类中直接编写连接数据库的操作,后来感觉这个不仅可读性很差,而且代码冗余度很大,很多操作都是相似的,其实都是可以用相同的函数来处理,例如对数据库的插入、删除、更新等。

还有就是开始的时候会忽视事物的回滚,即对一条sql只判断它有没有执行成功,没有成功的时候就简单得抛出异常就完事了。其实还应该在没有执行成功的时候要对数据库做回滚的操作,不然会造成数据库的数据不一致性。

2.  对于具有相同功能的按钮,如云台控制的按钮。在编写处理点击鼠标按钮事件的函数的时候,应该把点击该按钮这个消息发送到主窗口,在主窗口类中写一个消息处理函数处理该消息,这样使代码移植性更好、更直观。若在每个按钮下都编写一个消息处理函数的话,一旦程序需要变更的话就要修改很多的东西,可移植性很差。

3.  代码编写一定要注意规范,开始的时候会把一些临时的指针写成变量p,把设备的名称用sName代替,写到后来自己有时候都会糊涂,sName到底是设备的名称还是设备登陆时的用户名呢?所以这个大毛病还是要改改。

4.  还有就是内存泄露的问题。刚开始的时候,我只有在界面上的“退出程序”按钮的处理函数中做一些内存清理的工作,如把未停止的线程停止,把一些链表删除等。后来发现当我点击主窗体的叉叉按钮退出程序的时候,编译器就提示我的程序有很多的内存泄露了。然后我就问鱼老师,如果我想点叉叉按钮退出的时候也要做一些内存清理的工作的话要怎么做呢?鱼老师告诉我窗体每次销毁的时候都要调用OnDestroy()函数来销毁窗体,你可以在那个函数里做一些处理工作。于是我又在OnDestroy()函数里做了相同的清理工作。但是,这次点击“退出程序”按钮的时候程序直接崩溃了,经过鱼老师的检查,发现我做了两次同样的内存清理工作,因为我在点击‘退出程序“的时候,OnDestroy()函数同样也是会被调用的。第二次清理的时候肯定直接崩溃了,因为那些链表指针都被指为空了、而且线程的入口地址也被清空了。所以编译器提示我“无效句柄”。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值