解决问题的法宝——追根溯源

来源:互联网 发布:现在什么网游支持mac 编辑:程序博客网 时间:2024/05/12 00:20

我们在写代码的时候,常常出现一些比较诡异的情况,此时新手一般都会想是不是机器除了问题,重启一下电脑能不能解决问题,而老手都会说一定是哪里出现了问题,好吧,新手都是受了太多windows的毒害么,作为一名用户,有时候重启电脑确实解决了问题,但是对于开发者,我们应该使用另一个法宝:追根溯源。

最近在维护QT制作的一个编辑器。编辑器中查找替换功能很强大,我在上面添加了一些功能,然后最近的一个需求卡在了一个诡异的问题上:编辑框无法撤销和重做,这个编辑框是QPlainTextEditor的孙子。其实编辑框的撤销和重做功能我是偶然发现的,只需要使用 BeginEditBlock 和 EndEditBlock。编辑框无法撤销和重做,我一直都在检查这两个函数的使用,怎么都觉得这个代码是正确的。百思不得其解后,我突然发现在文本框中手动编辑也无法撤销,这让我想到代码本身应该是没有问题的,问题一定在别的地方。于是我检查到ui文件时,终于发现了症结,里面有设置是否能重做和撤销的开关,默认是关闭的。

所以在上述问题解决的过程中,首先,不应该将焦点总是定位到没问题的代码,应该视野放的更开阔一些。另外,既然编辑框不能编辑,那最应该检查的是实现撤销和重做功能的源头:编辑框,看看这个类是否有开关控制,所以奇怪的事情发生后,应该去追溯事情的起源。另外,一定要多看文档多看文档,不要想当然,很多函数不太清楚,但是去看看文档,会发现一切都是那么清楚。

0 0
原创粉丝点击