记录思考

程序员解决问题的正确方式

对于程序员来说,每天就是在写 bug 和解 bug 中度过的。bug 基本上都是亲手写的,但是 bug 可能不是亲手解的。也就是说,我们平时解 bug 的时候,经常是需要通过他人的帮助来解决的。但是总有会碰见这样的人,你其实并不喜欢帮他解 bug。为啥呢,因为有些人总是会有拿来主义的想法。这一类程序员可能不招人喜欢,或者说不招领导喜欢。好吧,不管你领导喜不喜欢,反正我是不喜欢的。

对于程序员来说,每天就是在写 bug 和解 bug 中度过的。bug 基本上都是亲手写的,但是 bug 可能不是亲手解的。也就是说,我们平时解 bug 的时候,经常是需要通过他人的帮助来解决的。但是总有会碰见这样的人,你其实并不喜欢帮他解 bug。为啥呢,因为有些人总是会有拿来主义的想法。这一类程序员可能不招人喜欢,或者说不招领导喜欢。好吧,不管你领导喜不喜欢,反正我是不喜欢的。

解决问题的过程

一般咱们解决问题的思路是这样的,首先出现问题的时候,先复现,根据复现步骤查找问题发生在什么地方,然后分析为啥会出现问题,是不小心,还是设计漏洞,还是另有原因,然后再拿出解决方案,然后就是实施方案,进行问题的修复,修复完进行验证,并评估一下影响范围。这算是一个大致的思路链了,有些步骤可能可以省略或者跳过,比如一些小问题,你很快就知道问题出在哪,怎么修复了,相关的代码已经在你脑海里了,测试一描述场景,你立马就可以定位到哪行代码,怎么修改,以及是否有其它影响。

总之,这个思路链大致就是这样,每个人都差不多,但是我们每天面对的问题却千奇百怪,要不公司为啥需要花那么多钱请程序员呢,就是因为这种问题不会是千篇一律的。我们也总是会碰见自己解决不了的问题,寻求他人帮忙是肯定必须的。

敢于提问

首先,一定到敢于问问题。有些人碰见问题会自己憋着找答案,特别是新人,怕问问题会暴露水平,会收到批评,又上自尊心,等等。这样是不好的。其实有一件事情千万不能忘记,不能放松,就是快速成长。很多时候,特别是对于新人来说,请求他人的帮助,要比你自己闭门造车成长要快一些。所以,当你碰到问题,自己琢磨了一阵子还没有思路的话,大胆的去需求帮助吧。

端正学习态度

然后呢,找别人帮忙解决问题,一定要有一个好的态度,这里的态度不是那种低三下四请求别人帮忙的态度。一个团队的,我相信大家都是可以相互帮忙的,我说的是学习的态度。比较常见的,比如说新人吧,很多新手都会这样,刚开始学习写代码,刚开始接手项目,但是,现在代码里出了问题了,一脸茫然,赶紧找高手帮忙解决吧。这个时候可以看出新人的态度来,大部分人会很认真的在你边上看你怎么查问题的,怎么解决问题的,这些都是经验。而我很久很久以前,就碰见这样的一个人,让我帮他查问题,然后他自己坐在椅子上闭目养神,我的天啊~~这绝对是态度问题,虽然我和他只是平级的同事关系,但是这样的人在我心里肯定是负分的。

在有些团队里,同时进来的相似经验能力的新人,一段时间后,明显可以看出他们之间的差距来。因为有些人会用心的去学习别人解决问题的思路,规律,方法,他们看着高手解决几次问题后,也慢慢学会了对付这些问题的方法了。所以对于新人来说,刚开始,不要怕麻烦别人,只是在麻烦别人的时候,一定要做好学习的准备。

锻炼能力

端正学习态度后,就是学习分析问题和解决问题能力的锻炼了。怎么锻炼呢,还是通过请教别人来锻炼。现在你已经不是一脸茫然的新手了,你已经有一定解决问题,排除问题能力的人了,这个时候,你问问题,肯定会带着你的问题,以及你已经知道的信息去需求他人帮助了。这个时候,你和高手之间的差距就是在一大推信息或者只有一点点信息里,找出有价值的信息的能力了。有些时候,你会发现,踏遍千上万水,最后发现问题就在家门口。可能你几乎翻遍了整个项目的代码也没有找出原因,而高手三下两下就定位到问题在哪了。这个时候要注意学习别人在查找问题的时候,是如何提取有价值信息的。

解决问题的能力是考核一个程序员真实能力中,很重要的一部分。我们总是需要不断的提高自己解决问题的能力,而有时候我会发现有些同事会有意识的,或者无意识的放弃这种能力的锻炼。

有些人是懒,想偷懒。比如,有人出现了问题第一时间就想到找我,而我一看,其实日志上写能很清楚,但是他就是不看。这种问题,自己花点时间,看一下日志,打个断点,很容易就找出原因的,却要找别人帮忙,这就很不应该了。

还有些人却是习惯性的放弃思考,对于自己不熟悉的领域,直接放弃研究了,比如说常见的 Gradle 构建失败,Jenkins 构建失败,有人连报错的日志都不细看,至少百度 Google 一下,大部分问题都可以自己解决掉了。而且这种问题解决的过程,也让你对这些东西多少积累一些了解。大部分人都没有专门学习过 Gradle,Jenkins 之类的东西,都是通过平时解决问题积累下来的。

- EOF -

本文链接 https://spacepage.top/articles/2018.08.15-22-31-31-how-to-solve-problems.html,欢迎转载,转载请注明出处。