解决问题的能力是软件工程师进阶的核心竞争力,那些解决问题能力强的程序员,遇到问题总是有办法,都能有条不紊地给解决了。
解决问题的一套方法论,分3步:
第一步:明确问题:
解决问题,最重要的一步就是要明确问题是什么,这其实就跟做项目需要先做需求分析一样,搞清楚目标是
什么,才能做到有的放矢。同时这一步也要透过现象看本质,去明确问题背后是不是还有其他问题。就像我
在前一篇文章中举例的抽奖项目,不能光看到功能需求,还需要看到安全上的需求;网络异常的问题,不能
光想着应用程序错误,还要看看网络是不是有问题。
第二步:拆分和定位问题:
一个复杂的问题,只有经过拆分,才好找到本质的问题
第三步:提出解决方案并总结:
发现并分析完问题后,找到解决方案是容易的,但很有必要总结一下。总结要做的就是两点:
下次有这种问题怎么解决,是不是可以做的更好?
这种问题是不是可以预防?如果可以,应该怎么做?
此文章为10月Day19学习笔记,内容来源于极客时间《软件工程之美》