定位问题与解决问题

文章首发公众号『风象南』

先问个问题大家感觉软件项目中定位问题解决问题哪个更难。

先不着急下结论,我觉得有必要先澄清这两个概念,为什么 ?

做事,一定是有方法的,用对方法可以事半功倍,明确概念能让我们对事物有清晰的认识,进而决定采用什么样的措施,我们得知道当前是在定位问题还是解决问题亦或是制造问题,后面这点适用于做任何事。

好了,先简单总结下概念

定位问题:分析、寻找问题出现的原因

解决问题:经过实施一个有效的办法,让问题不再是问题(这里可能有产生副作用,就是制造了新的问题)

接下来,分别分析下它们的基本逻辑

注:后面的内容均以软件开发场景为例

定位问题的基本逻辑

收集信息 -> 缩小范围 -> 锁定可疑点 -> 论证

收集信息:包括系统日志、其他人员的反馈、问题现象等

缩小范围:这步我认为是最重要的一步,根据已有信息确定正确的问题范围对整体定位问题的效率起决定性作用,经验的价值往往就在这里体现

锁定可疑点:基于上面的范围锁定排查可能出现的原因,这里特别说一点对于没有思路、链路不清等相对复杂的问题可以采用排除法(即注释掉可能影响的代码片段进行快速验证)

论证:对可疑点进行验证测试,确定最终原因

解决问题的基本逻辑

解决现有问题,不产生新问题

经过问题定位明确原因后,解决问题通常会比较容易(个别技术性障碍、难点需要攻克除外),但是往往我们容易忽略不产生新问题这个点,改好了A问题出现了B问题,所以,解决问题应该是20%精力解决当前问题,80%精力来验证没有出现新问题。

结论

最后,回到文章开头的问题

个人认为定位问题更难,这是一个综合性思考、判断、决策、尝试的过程,既考验心力,也考验体力。

相比之下,解决问题虽然也需要技术深度,可能存在技术难点,但更偏向“已知目标下的路径选择”。不过,两者并非完全割裂——优秀的开发者通常需要兼具这两种能力,并能根据问题类型动态调整策略。

番外

问:生产环境如果出了问题,比如,数据库宕机,服务挂了之类的,我们应该先干什么 ?

答:解决问题,先把挂掉的服务启动了再说,恢复服务是第一重要的事情,至于问题定位那是事后要做的。这与先救命还是先治病是一个道理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值