解决技术问题的方法

编程

解决技术问题的方法

概述

主要总结平时写代码,做开发遇到问题时,解决的思路和方法。

1. 明确问题

问题类型

概述

如果大脑有个问题类型列表,每次问题来了就可以对照一遍,快速明确问题类型,这样问题范围更窄,更容易解决。下面列举了常见的问题类型。

代码问题

大多数问题都是自己代码有问题,这种问题最常见,debug 调试定位问题,修改代码解决即可。

产品问题

有时候不是代码问题,而是你和产品的理解不一致,又或者产品设计存在逻辑错误。要想避免沟通问题,在前期就多和产品沟通, 自己理解需求后,再次和对方确认。

测试问题

有时候可能是,测试同学造数据错误,自己带来的问题。

前端问题

有时候可能是,前段同学传参错误。

沟通问题

这个也很常见,通过深度沟通,反复确认来避免沟通理解的不一致。

环境问题

有时候代码对了,部署方式也对了,可能就是环境问题。

常见明确(定位)问题方法

概述

很多时候我们第一眼看到的是问题的表象,需要进一步定位找到问题根源,才谈得上怎么去解决他,下面列举了一些定位问题的方法。

日志法

大多组件都有日志,大多业务代码也落了日志,一切从日志信息出发。

由近及远法

先考虑是自己的问题,再延伸到组件,环境等等

排除法

先大胆假设,挑出最可能的点,并进行试错,然后排除这个点,进过不断的排除 ,最后将问题范围逐步缩小,定位到问题。

注释法

注释一部分代码,看问题是否解决,将代码范围逐步缩小(此方法为笨方法,但能解决问题)

源码分析法

很多问题在网上或者官方文档是搜索不到的,你可能是业界第一个遇到的,这个时候打断点看源码,能将问题范围一步步缩小,直到定位到问题根源

做实验法

这个最常见了,做些实验验证自己的猜想。然后逐步排除可疑点。

2. 拆解问题

花式拆解问题,直达问题根源,不要老盯着大问题看, 要把大问题拆解成小问题才好解决,比如下面这些方法:

  • 公式化拆解。比如 SQL执行报错= sql编写错误+ 表结构错误 + 数据错误 等等
  • 做假设,从最可能的地方出发。 再把问题拆成问题树。
  • 用mece穷尽的方式, 把问题拆解到底。
  • 横纵拆解问题, 比如纵向把问题越挖越深, 横向拆出同级别的问题。

3. 借鉴前人

很多问题别人早已解决过,可以去借鉴下,常见的借鉴途径有如下:

  • Google搜索,百度搜索
  • 官方文档
  • 书籍,极客时间等付费资料
  • 问答社区
  • 问人

总结

一定要先定位清楚问题,再去解决问题,问题不清楚,就去解决,效率极低,方向走偏了,整半天也解决不到。

以上是 解决技术问题的方法 的全部内容, 来源链接: utcz.com/z/515374.html

回到顶部