博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
解决技术问题的方法
阅读量:2356 次
发布时间:2019-05-10

本文共 1090 字,大约阅读时间需要 3 分钟。

概述

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

1. 明确问题

问题类型

概述

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

代码问题

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

产品问题

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

测试问题

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

前端问题

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

沟通问题

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

环境问题

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

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

概述

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

日志法

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

由近及远法

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

排除法

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

注释法

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

源码分析法

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

做实验法

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

2. 拆解问题

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

  • 公式化拆解。比如 SQL执行报错= sql编写错误+ 表结构错误 + 数据错误 等等

  • 做假设,从最可能的地方出发。 再把问题拆成问题树。

  • 用mece穷尽的方式, 把问题拆解到底。

  • 横纵拆解问题, 比如纵向把问题越挖越深, 横向拆出同级别的问题。

3. 借鉴前人

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

  • Google搜索,百度搜索

  • 官方文档

  • 书籍,极客时间等付费资料

  • 问答社区

  • 问人

总结

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

来源https://my.oschina.net/anuodog/blog/3229073

                        喜欢 就关注吧,欢迎投稿!

转载地址:http://txbtb.baihongyu.com/

你可能感兴趣的文章
驱动调试常见问题_Camera
查看>>
安装Office 2007安装出错--无法找到“Office.zh-cn\officeLR.cab”文件
查看>>
Audio Driver 架构
查看>>
Windows CE 5.0启动过程分析
查看>>
什么是数据库索引
查看>>
Webpack 基础与配置
查看>>
尾调用优化(Tail Call Optimization)
查看>>
前端书籍推荐
查看>>
git常用操作
查看>>
JS+Canvas绘画&导出图片
查看>>
JS忍者秘籍-函数重载
查看>>
集合及concurrent并发包总结
查看>>
读“DataBase Sharding at Netlog”,看DataBase Scale Out
查看>>
Redis
查看>>
SSDB:高性能数据库服务器
查看>>
MySQL使用与优化总结
查看>>
nginx从入门到精通
查看>>
zabbix监控
查看>>
关于大型网站技术演进的思考--存储的瓶颈系列
查看>>
毕业快两年了
查看>>