碰到问题的时候该怎么处理
Created at 2017-08-26 Updated at 2017-08-26 Category 2017年8月
引言
程序员遇到问题,遇到Bug这是在所能免的事情,当大一大二刚遇到问题的时候,那个时候可能是卖卖萌,求学长帮忙解决一下。幸好,当时碰到的几个学长都是授之以渔的,所以慢慢的就通过搜索引擎开始解决问题了。大三的时候基本上都遇到问题都是自己解决了。刚开始肯定是比较抓狂的,问题很难解决的时候是比较绝望的,这个时候如果解决了问题,所收获的成就感也是满满的。
等习惯了之后,碰到问题也不会绝望了,因为自信也是在慢慢中建立的,相信所有的问题都是可以被解决的。
问题分类
在过往的程序开发当中,遇到的问题可以简单的分为10种。
一种是在编译器上面可以调试的,这个问题一般都是比较简单的,因为通过调试就可以找到错误,并且修改。
另外一种就是可以是在装一个软件的过程种出错了,或者是报了结果不是自己想要的。比如说之前的IE插件开发,需要在显示栏显示我的图标,然后程序编译没有错误,但是显示栏就是没有我的图标等之类的问题就比较复杂一些了。
问题应对
- 第一种编译问题,语法,逻辑错误的话都是很简单的错误。只要调试一下就可以了。
- 第二种问题。需要冷静分析,从头理顺思路,排除各种可能出现的错误原因。
理解原理,得原理算法者得天下。(会有这种的感受是因为:现在工作在的公司,旁边好几个博士生,其中一个博士生就对我们所做的原理非常的清楚,所以当你问他问题的时候,你就会发现,虽然他在编程代码上可能不是非常了解,但是从原理的角度上一下子就可以看出代码是否有问题,这样子行不行。)
今天春招面试A家的时候,面试官问平时都是怎么解决问题的。因为没有反应过来,很长一段时间也没有敲代码了,就想到最近写的IE插件开发,因为之前从来没有接触过,时间也比较短,所以就只能按照官方文档来,正如上面说的,因为对原理和一些配置代码什么的都不是很清楚,所以当时因为一个地方写错了,就不是很清楚,只能一直不断的尝试。所以我当时就回答说,我重复的尝试。 其实找问题最好的肯定不是说一直不分析的不断重复的尝试,而是要分析问题,然后不断的排错,找原因的。
避免问题
写代码的时候就尽量做到每一个地方细节都很清楚,而不是大概知道干什么,或者有的干什么也不是很清楚。这样子会比较不容易出问题,或者等出了问题,也可以比较快的知道哪里出了问题,出了什么问题。
结尾
写这篇文章是为了记录下来自己现在的想法(如果能有其他人看到我的文章,并且从中受益,那当然是最好不过的了),因为谁都不敢保证自己之后是否能按照现在的想法执行,或者说之后因为一些事情就会忘记了现在的想法。所以内容并不是非常的丰富,但是我还是选择记录下来。并且我觉得记录下自己当下的想法,所做的事情,所遇到的问题,是一个非常好的习惯。