发现问题比解决问题更重要,如果发现了问题的所在,解决它仅仅是一个时间的问题,可能有些问题永远解决不了,但是我们最终知道它永远解决不了也算是解决了问题。问题的实质其实是一种反差,也就是期望和实际的反差,这是好事,如果每件事都和我们期望的一致,那么我们的脑子里面就不会有问题了,思维就僵化了。解决问题的本质就是缩小这种反差,其实是两种方式,第一种方式是结果向期望靠拢,第二种方式是期望向结果靠拢,还有一种是同时向对方靠拢。将我不熟悉的东西往我们熟悉的东西上靠拢,这既是对之前经验积累的一种利用,同时又是一种新的经验积累,这在软件开发当中很重要。当期望和实际发生的一致了,那么问题就解决了。
解决问题最重要的你要有一个信念,那就是原因一定会导致结果,这好像是废话一句,然而却是由因导果和执果索因的依据,发生了一个问题的时候,如果我们找不到蛛丝马迹解决它怎么办?找不到任何线索怎么办?这就说明执果索因行不通了,那么由因导果就要使用了,其实这是一种更简单的方法,但是实际上却很少有人使用,除了高中时我们解数学题的时候使用过,实际生活中很少有人使用。现有一个问题,程序崩溃了,但是调试环境中没有gdb,没有core,日志又帮不了忙,那怎么办,程序崩溃只是一个结果,我们要找它的原因,很难,但是如果我们知道所有导致程序崩溃的方式,那么就可以手工的以这些方式触发这个崩溃,然后观察现象,如果现象和问题出现时的现象一致,那么就算是解决一半问题了,为何是解决一半呢?因为我们不能保证其它的原因不会导致现象一致的崩溃。另一半问题就好办了,我们只要能及时挽救就可以。
解决问题最重要的你要有一个信念,那就是原因一定会导致结果,这好像是废话一句,然而却是由因导果和执果索因的依据,发生了一个问题的时候,如果我们找不到蛛丝马迹解决它怎么办?找不到任何线索怎么办?这就说明执果索因行不通了,那么由因导果就要使用了,其实这是一种更简单的方法,但是实际上却很少有人使用,除了高中时我们解数学题的时候使用过,实际生活中很少有人使用。现有一个问题,程序崩溃了,但是调试环境中没有gdb,没有core,日志又帮不了忙,那怎么办,程序崩溃只是一个结果,我们要找它的原因,很难,但是如果我们知道所有导致程序崩溃的方式,那么就可以手工的以这些方式触发这个崩溃,然后观察现象,如果现象和问题出现时的现象一致,那么就算是解决一半问题了,为何是解决一半呢?因为我们不能保证其它的原因不会导致现象一致的崩溃。另一半问题就好办了,我们只要能及时挽救就可以。
为何我们社会上出了那么多的专家和学者,却没有出现顶级的科学家,这就是因为这些所谓学者都是问题的解决者而不是发现者,解决问题是简单的,只要有问题,肯定会解决的,而且有那么多现成的公理和经验可用,这些学者的工作就是在现成的N个公理/定理中找出一个可用的,最后将这些东西堆积在一起即可,这在实质上和我们程序员复制粘贴代码以及一些学生们引用名言警句以作文是一致的,心里完全没有问题,只是堆积一些现成的原因然后导致一个结果,而从来没有人会添加一个新的原因,这也决定了为何我们能将一个数据精确到很精细的地步却从来没有人能提出这个数字。我们的高铁速度能刷新世界纪录却不是发明火车的国家。
本文转自 dog250 51CTO博客,原文链接:http://blog.51cto.com/dog250/1271156